[gobject-introspection/mallard-templates: 6/6] g-ir-doc-tool: Update expected mallard for the doc tests



commit 60311e4870095eeb788d3b20ad1e774792ad683b
Author: Tomeu Vizoso <tomeu vizoso collabora com>
Date:   Fri Feb 17 10:43:01 2012 +0100

    g-ir-doc-tool: Update expected mallard for the doc tests

 .../GIRepository.ArgInfo.page                      |    5 +-
 .../GIRepository.ArrayType.page                    |    5 +-
 .../GIRepository.AttributeIter.page                |    3 +-
 .../GIRepository.BaseInfo.equal.page               |   18 ++++++-
 .../GIRepository.BaseInfo.get_attribute.page       |   18 ++++++-
 .../GIRepository.BaseInfo.get_container.page       |   14 +++++-
 .../GIRepository.BaseInfo.get_name.page            |   14 +++++-
 .../GIRepository.BaseInfo.get_namespace.page       |   14 +++++-
 .../GIRepository.BaseInfo.get_typelib.page         |   14 +++++-
 .../GIRepository.BaseInfo.is_deprecated.page       |   14 +++++-
 .../GIRepository.BaseInfo.iterate_attributes.page  |   28 +++++++++-
 .../GIRepository.BaseInfo.page                     |    3 +-
 .../GIRepository.BaseInfo.ref.page                 |   14 +++++-
 .../GIRepository.BaseInfo.unref.page               |   14 +++++-
 .../GIRepository.CallableInfo.page                 |    5 +-
 .../GIRepository.CallbackInfo.page                 |    5 +-
 .../GIRepository.ConstantInfo.page                 |    5 +-
 .../GIRepository.Direction.page                    |    5 +-
 .../GIRepository.EnumInfo.page                     |    5 +-
 .../GIRepository.FieldInfo.page                    |    5 +-
 .../GIRepository.FieldInfoFlags.page               |    5 +-
 .../GIRepository.FunctionInfo.page                 |    5 +-
 .../GIRepository.FunctionInfoFlags.page            |    5 +-
 .../GIRepository.InfoType.page                     |    5 +-
 .../GIRepository.InterfaceInfo.page                |    5 +-
 .../GIRepository.ObjectInfo.page                   |    5 +-
 .../GIRepository.ObjectInfoGetValueFunction.page   |    5 +-
 .../GIRepository.ObjectInfoRefFunction.page        |    5 +-
 .../GIRepository.ObjectInfoSetValueFunction.page   |    5 +-
 .../GIRepository.ObjectInfoUnrefFunction.page      |    5 +-
 .../GIRepository.PropertyInfo.page                 |    5 +-
 .../GIRepository.RegisteredTypeInfo.page           |    5 +-
 .../GIRepository.Repository.dump.page              |   27 +++++++++
 ...GIRepository.Repository.enumerate_versions.page |   23 ++++++++-
 .../GIRepository.Repository.error_quark.page       |   23 ++++++++
 ...Repository.Repository.find_by_error_domain.page |   23 ++++++++-
 .../GIRepository.Repository.find_by_gtype.page     |   23 ++++++++-
 .../GIRepository.Repository.find_by_name.page      |   28 +++++++++-
 .../GIRepository.Repository.get_c_prefix.page      |   23 ++++++++-
 .../GIRepository.Repository.get_default.page       |   31 +++++++++++
 .../GIRepository.Repository.get_dependencies.page  |   23 ++++++++-
 .../GIRepository.Repository.get_info.page          |   28 +++++++++-
 ...epository.Repository.get_loaded_namespaces.page |   18 ++++++-
 .../GIRepository.Repository.get_n_infos.page       |   23 ++++++++-
 .../GIRepository.Repository.get_option_group.page  |   25 +++++++++
 .../GIRepository.Repository.get_search_path.page   |   25 +++++++++
 ...GIRepository.Repository.get_shared_library.page |   23 ++++++++-
 .../GIRepository.Repository.get_typelib_path.page  |   23 ++++++++-
 .../GIRepository.Repository.get_version.page       |   23 ++++++++-
 .../GIRepository.Repository.is_registered.page     |   28 +++++++++-
 .../GIRepository.Repository.load_typelib.page      |   26 +++++++++
 .../GIRepository.Repository.page                   |   23 ++++++--
 ...IRepository.Repository.prepend_search_path.page |   27 +++++++++
 .../GIRepository.Repository.require.page           |   33 +++++++++++-
 .../GIRepository.Repository.require_private.page   |   38 +++++++++++++-
 .../GIRepository.RepositoryClass.page              |    1 +
 .../GIRepository.RepositoryError.page              |    3 +-
 .../GIRepository.RepositoryLoadFlags.page          |    5 +-
 .../GIRepository.RepositoryPrivate.page            |   11 ----
 .../GIRepository.ScopeType.page                    |    5 +-
 .../GIRepository.SignalInfo.page                   |    5 +-
 .../GIRepository.StructInfo.page                   |    5 +-
 .../GIRepository.Transfer.page                     |    5 +-
 .../GIRepository.TypeInfo.page                     |    5 +-
 .../GIRepository.TypeTag.page                      |    5 +-
 .../GIRepository.Typelib.free.page                 |   11 ----
 .../GIRepository.Typelib.get_namespace.page        |   11 ----
 .../GIRepository.Typelib.page                      |   11 ----
 .../GIRepository.Typelib.symbol.page               |   11 ----
 .../GIRepository.UnionInfo.page                    |    5 +-
 .../GIRepository.UnresolvedInfo.page               |   11 ----
 .../GIRepository.VFuncInfo.page                    |    5 +-
 .../GIRepository.VFuncInfoFlags.page               |    5 +-
 .../GIRepository.ValueInfo.page                    |    5 +-
 .../GIRepository._Argument.page                    |    3 +-
 .../GIRepository._BaseInfoStub.page                |    1 +
 .../GIRepository.arg_info_get_closure.page         |   18 ++++++-
 .../GIRepository.arg_info_get_destroy.page         |   18 ++++++-
 .../GIRepository.arg_info_get_direction.page       |   18 ++++++-
 ...Repository.arg_info_get_ownership_transfer.page |   18 ++++++-
 .../GIRepository.arg_info_get_scope.page           |   18 ++++++-
 .../GIRepository.arg_info_get_type.page            |   18 ++++++-
 .../GIRepository.arg_info_is_caller_allocates.page |   18 ++++++-
 .../GIRepository.arg_info_is_optional.page         |   18 ++++++-
 .../GIRepository.arg_info_is_return_value.page     |   18 ++++++-
 .../GIRepository.arg_info_is_skip.page             |   18 ++++++-
 .../GIRepository.arg_info_load_type.page           |   23 ++++++++-
 .../GIRepository.arg_info_may_be_null.page         |   18 ++++++-
 .../GIRepository.base_info_get_type.page           |   18 ++++++-
 .../GIRepository.callable_info_get_arg.page        |   23 ++++++++-
 ...GIRepository.callable_info_get_caller_owns.page |   18 ++++++-
 .../GIRepository.callable_info_get_n_args.page     |   18 ++++++-
 ...ository.callable_info_get_return_attribute.page |   23 ++++++++-
 ...GIRepository.callable_info_get_return_type.page |   18 ++++++-
 ...ry.callable_info_iterate_return_attributes.page |   33 +++++++++++-
 .../GIRepository.callable_info_load_arg.page       |   28 +++++++++-
 ...IRepository.callable_info_load_return_type.page |   23 ++++++++-
 ...GIRepository.callable_info_may_return_null.page |   18 ++++++-
 .../GIRepository.callable_info_skip_return.page    |   18 ++++++-
 .../GIRepository.constant_info_free_value.page     |   32 +++++++++++
 .../GIRepository.constant_info_get_type.page       |   18 ++++++-
 .../GIRepository.constant_info_get_value.page      |   24 ++++++++-
 .../GIRepository.enum_info_get_error_domain.page   |   16 ++++++
 .../GIRepository.enum_info_get_method.page         |   32 +++++++++++
 .../GIRepository.enum_info_get_n_methods.page      |   27 +++++++++
 .../GIRepository.enum_info_get_n_values.page       |   16 ++++++
 .../GIRepository.enum_info_get_storage_type.page   |   18 ++++++-
 .../GIRepository.enum_info_get_value.page          |   23 ++++++++-
 .../GIRepository.field_info_get_field.page         |   28 +++++++++-
 .../GIRepository.field_info_get_flags.page         |   18 ++++++-
 .../GIRepository.field_info_get_offset.page        |   18 ++++++-
 .../GIRepository.field_info_get_size.page          |   18 ++++++-
 .../GIRepository.field_info_get_type.page          |   18 ++++++-
 .../GIRepository.field_info_set_field.page         |   28 +++++++++-
 .../GIRepository.function_info_get_flags.page      |   18 ++++++-
 .../GIRepository.function_info_get_property.page   |   18 ++++++-
 .../GIRepository.function_info_get_symbol.page     |   18 ++++++-
 .../GIRepository.function_info_get_vfunc.page      |   18 ++++++-
 .../GIRepository.function_info_invoke.page         |   43 ++++++++++++++-
 .../GIRepository.info_new.page                     |   31 +++++++++++
 .../GIRepository.info_type_to_string.page          |   18 ++++++-
 .../GIRepository.interface_info_find_method.page   |   23 ++++++++-
 .../GIRepository.interface_info_find_vfunc.page    |   23 ++++++++-
 .../GIRepository.interface_info_get_constant.page  |   23 ++++++++-
 ...Repository.interface_info_get_iface_struct.page |   18 ++++++-
 .../GIRepository.interface_info_get_method.page    |   23 ++++++++-
 ...IRepository.interface_info_get_n_constants.page |   18 ++++++-
 .../GIRepository.interface_info_get_n_methods.page |   18 ++++++-
 ...ository.interface_info_get_n_prerequisites.page |   18 ++++++-
 ...Repository.interface_info_get_n_properties.page |   18 ++++++-
 .../GIRepository.interface_info_get_n_signals.page |   18 ++++++-
 .../GIRepository.interface_info_get_n_vfuncs.page  |   18 ++++++-
 ...Repository.interface_info_get_prerequisite.page |   23 ++++++++-
 .../GIRepository.interface_info_get_property.page  |   23 ++++++++-
 .../GIRepository.interface_info_get_signal.page    |   23 ++++++++-
 .../GIRepository.interface_info_get_vfunc.page     |   23 ++++++++-
 .../GIRepository.invoke_error_quark.page           |   12 ++++
 .../GIRepository.nvokeError.page                   |    5 +-
 .../GIRepository.object_info_find_method.page      |   23 ++++++++-
 ...y.object_info_find_method_using_interfaces.page |   28 +++++++++-
 .../GIRepository.object_info_find_signal.page      |   21 +++++++
 .../GIRepository.object_info_find_vfunc.page       |   23 ++++++++-
 .../GIRepository.object_info_get_abstract.page     |   18 ++++++-
 .../GIRepository.object_info_get_class_struct.page |   18 ++++++-
 .../GIRepository.object_info_get_constant.page     |   23 ++++++++-
 .../GIRepository.object_info_get_field.page        |   23 ++++++++-
 .../GIRepository.object_info_get_fundamental.page  |   18 ++++++-
 ...ository.object_info_get_get_value_function.page |   18 ++++++-
 ...object_info_get_get_value_function_pointer.page |   18 ++++++-
 .../GIRepository.object_info_get_interface.page    |   23 ++++++++-
 .../GIRepository.object_info_get_method.page       |   23 ++++++++-
 .../GIRepository.object_info_get_n_constants.page  |   18 ++++++-
 .../GIRepository.object_info_get_n_fields.page     |   18 ++++++-
 .../GIRepository.object_info_get_n_interfaces.page |   18 ++++++-
 .../GIRepository.object_info_get_n_methods.page    |   18 ++++++-
 .../GIRepository.object_info_get_n_properties.page |   18 ++++++-
 .../GIRepository.object_info_get_n_signals.page    |   18 ++++++-
 .../GIRepository.object_info_get_n_vfuncs.page     |   18 ++++++-
 .../GIRepository.object_info_get_parent.page       |   18 ++++++-
 .../GIRepository.object_info_get_property.page     |   23 ++++++++-
 .../GIRepository.object_info_get_ref_function.page |   18 ++++++-
 ...itory.object_info_get_ref_function_pointer.page |   18 ++++++-
 ...ository.object_info_get_set_value_function.page |   18 ++++++-
 ...object_info_get_set_value_function_pointer.page |   18 ++++++-
 .../GIRepository.object_info_get_signal.page       |   23 ++++++++-
 .../GIRepository.object_info_get_type_init.page    |   18 ++++++-
 .../GIRepository.object_info_get_type_name.page    |   18 ++++++-
 ...IRepository.object_info_get_unref_function.page |   18 ++++++-
 ...ory.object_info_get_unref_function_pointer.page |   18 ++++++-
 .../GIRepository.object_info_get_vfunc.page        |   23 ++++++++-
 .../GIRepository.property_info_get_flags.page      |   18 ++++++-
 ...itory.property_info_get_ownership_transfer.page |   18 ++++++-
 .../GIRepository.property_info_get_type.page       |   18 ++++++-
 ...Repository.registered_type_info_get_g_type.page |   18 ++++++-
 ...ository.registered_type_info_get_type_init.page |   18 ++++++-
 ...ository.registered_type_info_get_type_name.page |   18 ++++++-
 ...GIRepository.signal_info_get_class_closure.page |   18 ++++++-
 .../GIRepository.signal_info_get_flags.page        |   18 ++++++-
 .../GIRepository.signal_info_true_stops_emit.page  |   18 ++++++-
 .../GIRepository.struct_info_find_method.page      |   23 ++++++++-
 .../GIRepository.struct_info_get_alignment.page    |   18 ++++++-
 .../GIRepository.struct_info_get_field.page        |   23 ++++++++-
 .../GIRepository.struct_info_get_method.page       |   23 ++++++++-
 .../GIRepository.struct_info_get_n_fields.page     |   18 ++++++-
 .../GIRepository.struct_info_get_n_methods.page    |   18 ++++++-
 .../GIRepository.struct_info_get_size.page         |   18 ++++++-
 .../GIRepository.struct_info_is_foreign.page       |   16 ++++++
 .../GIRepository.struct_info_is_gtype_struct.page  |   18 ++++++-
 ...IRepository.type_info_get_array_fixed_size.page |   18 ++++++-
 .../GIRepository.type_info_get_array_length.page   |   18 ++++++-
 .../GIRepository.type_info_get_array_type.page     |   18 ++++++-
 .../GIRepository.type_info_get_interface.page      |   18 ++++++-
 .../GIRepository.type_info_get_param_type.page     |   23 ++++++++-
 .../GIRepository.type_info_get_tag.page            |   18 ++++++-
 .../GIRepository.type_info_is_pointer.page         |   18 ++++++-
 .../GIRepository.type_info_is_zero_terminated.page |   18 ++++++-
 .../GIRepository.type_tag_to_string.page           |   18 ++++++-
 .../GIRepository.union_info_find_method.page       |   23 ++++++++-
 .../GIRepository.union_info_get_alignment.page     |   18 ++++++-
 .../GIRepository.union_info_get_discriminator.page |   23 ++++++++-
 ...sitory.union_info_get_discriminator_offset.page |   16 ++++++
 ...pository.union_info_get_discriminator_type.page |   18 ++++++-
 .../GIRepository.union_info_get_field.page         |   23 ++++++++-
 .../GIRepository.union_info_get_method.page        |   23 ++++++++-
 .../GIRepository.union_info_get_n_fields.page      |   18 ++++++-
 .../GIRepository.union_info_get_n_methods.page     |   18 ++++++-
 .../GIRepository.union_info_get_size.page          |   18 ++++++-
 .../GIRepository.union_info_is_discriminated.page  |   18 ++++++-
 .../GIRepository.value_info_get_value.page         |   18 ++++++-
 .../GIRepository.vfunc_info_get_address.page       |   23 ++++++++-
 .../GIRepository.vfunc_info_get_flags.page         |   18 ++++++-
 .../GIRepository.vfunc_info_get_invoker.page       |   18 ++++++-
 .../GIRepository.vfunc_info_get_offset.page        |   18 ++++++-
 .../GIRepository.vfunc_info_get_signal.page        |   18 ++++++-
 .../GIRepository.vfunc_info_invoke.page            |   48 ++++++++++++++++-
 .../doctool/GIRepository-2.0-C-expected/index.page |    6 +-
 .../GIRepository.ArgInfo.page                      |    3 +-
 .../GIRepository.ArrayType.page                    |    3 +-
 .../GIRepository.AttributeIter.page                |    7 ++-
 .../GIRepository.BaseInfo.equal.page               |   22 +++++++-
 .../GIRepository.BaseInfo.get_attribute.page       |   22 +++++++-
 .../GIRepository.BaseInfo.get_container.page       |   17 +++++-
 .../GIRepository.BaseInfo.get_name.page            |   17 +++++-
 .../GIRepository.BaseInfo.get_namespace.page       |   17 +++++-
 .../GIRepository.BaseInfo.get_typelib.page         |   17 +++++-
 .../GIRepository.BaseInfo.is_deprecated.page       |   17 +++++-
 .../GIRepository.BaseInfo.iterate_attributes.page  |   30 ++++++++++-
 .../GIRepository.BaseInfo.page                     |   57 +++++++++++---------
 .../GIRepository.BaseInfo.ref.page                 |   17 +++++-
 .../GIRepository.BaseInfo.unref.page               |   17 +++++-
 .../GIRepository.CallableInfo.page                 |    3 +-
 .../GIRepository.CallbackInfo.page                 |    3 +-
 .../GIRepository.ConstantInfo.page                 |    3 +-
 .../GIRepository.Direction.page                    |    3 +-
 .../GIRepository.EnumInfo.page                     |    3 +-
 .../GIRepository.FieldInfo.page                    |    3 +-
 .../GIRepository.FieldInfoFlags.page               |    3 +-
 .../GIRepository.FunctionInfo.page                 |    3 +-
 .../GIRepository.FunctionInfoFlags.page            |    3 +-
 .../GIRepository.InfoType.page                     |    3 +-
 .../GIRepository.InterfaceInfo.page                |    3 +-
 .../GIRepository.ObjectInfo.page                   |    3 +-
 .../GIRepository.ObjectInfoGetValueFunction.page   |    3 +-
 .../GIRepository.ObjectInfoRefFunction.page        |    3 +-
 .../GIRepository.ObjectInfoSetValueFunction.page   |    3 +-
 .../GIRepository.ObjectInfoUnrefFunction.page      |    3 +-
 .../GIRepository.PropertyInfo.page                 |    3 +-
 .../GIRepository.RegisteredTypeInfo.page           |    3 +-
 .../GIRepository.Repository.dump.page              |   29 ++++++++++
 ...GIRepository.Repository.enumerate_versions.page |   26 ++++++++-
 .../GIRepository.Repository.error_quark.page       |   24 ++++++++
 ...Repository.Repository.find_by_error_domain.page |   26 ++++++++-
 .../GIRepository.Repository.find_by_gtype.page     |   26 ++++++++-
 .../GIRepository.Repository.find_by_name.page      |   30 ++++++++++-
 .../GIRepository.Repository.get_c_prefix.page      |   26 ++++++++-
 .../GIRepository.Repository.get_default.page       |   32 +++++++++++
 .../GIRepository.Repository.get_dependencies.page  |   26 ++++++++-
 .../GIRepository.Repository.get_info.page          |   30 ++++++++++-
 ...epository.Repository.get_loaded_namespaces.page |   21 +++++++-
 .../GIRepository.Repository.get_n_infos.page       |   26 ++++++++-
 .../GIRepository.Repository.get_option_group.page  |   26 +++++++++
 .../GIRepository.Repository.get_search_path.page   |   26 +++++++++
 ...GIRepository.Repository.get_shared_library.page |   26 ++++++++-
 .../GIRepository.Repository.get_typelib_path.page  |   26 ++++++++-
 .../GIRepository.Repository.get_version.page       |   26 ++++++++-
 .../GIRepository.Repository.is_registered.page     |   30 ++++++++++-
 .../GIRepository.Repository.load_typelib.page      |   28 +++++++++-
 .../GIRepository.Repository.page                   |   21 ++++++--
 ...IRepository.Repository.prepend_search_path.page |   29 ++++++++++
 .../GIRepository.Repository.require.page           |   34 +++++++++++-
 .../GIRepository.Repository.require_private.page   |   38 ++++++++++++-
 .../GIRepository.RepositoryClass.page              |    3 +-
 .../GIRepository.RepositoryError.page              |    1 +
 .../GIRepository.RepositoryLoadFlags.page          |    3 +-
 .../GIRepository.RepositoryPrivate.page            |   11 ----
 .../GIRepository.ScopeType.page                    |    3 +-
 .../GIRepository.SignalInfo.page                   |    3 +-
 .../GIRepository.StructInfo.page                   |    3 +-
 .../GIRepository.Transfer.page                     |    3 +-
 .../GIRepository.TypeInfo.page                     |    3 +-
 .../GIRepository.TypeTag.page                      |    3 +-
 .../GIRepository.Typelib.free.page                 |   11 ----
 .../GIRepository.Typelib.get_namespace.page        |   11 ----
 .../GIRepository.Typelib.page                      |   11 ----
 .../GIRepository.Typelib.symbol.page               |   11 ----
 .../GIRepository.UnionInfo.page                    |    3 +-
 .../GIRepository.UnresolvedInfo.page               |   11 ----
 .../GIRepository.VFuncInfo.page                    |    3 +-
 .../GIRepository.VFuncInfoFlags.page               |    3 +-
 .../GIRepository.ValueInfo.page                    |    3 +-
 .../GIRepository._Argument.page                    |    1 +
 .../GIRepository._BaseInfoStub.page                |    3 +-
 .../GIRepository.arg_info_get_closure.page         |   22 +++++++-
 .../GIRepository.arg_info_get_destroy.page         |   22 +++++++-
 .../GIRepository.arg_info_get_direction.page       |   22 +++++++-
 ...Repository.arg_info_get_ownership_transfer.page |   22 +++++++-
 .../GIRepository.arg_info_get_scope.page           |   22 +++++++-
 .../GIRepository.arg_info_get_type.page            |   22 +++++++-
 .../GIRepository.arg_info_is_caller_allocates.page |   22 +++++++-
 .../GIRepository.arg_info_is_optional.page         |   22 +++++++-
 .../GIRepository.arg_info_is_return_value.page     |   22 +++++++-
 .../GIRepository.arg_info_is_skip.page             |   22 +++++++-
 .../GIRepository.arg_info_load_type.page           |   26 ++++++++-
 .../GIRepository.arg_info_may_be_null.page         |   22 +++++++-
 .../GIRepository.base_info_get_type.page           |   22 +++++++-
 .../GIRepository.callable_info_get_arg.page        |   26 ++++++++-
 ...GIRepository.callable_info_get_caller_owns.page |   22 +++++++-
 .../GIRepository.callable_info_get_n_args.page     |   22 +++++++-
 ...ository.callable_info_get_return_attribute.page |   26 ++++++++-
 ...GIRepository.callable_info_get_return_type.page |   22 +++++++-
 ...ry.callable_info_iterate_return_attributes.page |   34 +++++++++++-
 .../GIRepository.callable_info_load_arg.page       |   30 ++++++++++-
 ...IRepository.callable_info_load_return_type.page |   26 ++++++++-
 ...GIRepository.callable_info_may_return_null.page |   22 +++++++-
 .../GIRepository.callable_info_skip_return.page    |   22 +++++++-
 .../GIRepository.constant_info_free_value.page     |   33 +++++++++++
 .../GIRepository.constant_info_get_type.page       |   22 +++++++-
 .../GIRepository.constant_info_get_value.page      |   27 +++++++++-
 .../GIRepository.enum_info_get_error_domain.page   |   20 +++++++-
 .../GIRepository.enum_info_get_method.page         |   33 +++++++++++
 .../GIRepository.enum_info_get_n_methods.page      |   29 ++++++++++
 .../GIRepository.enum_info_get_n_values.page       |   20 +++++++-
 .../GIRepository.enum_info_get_storage_type.page   |   22 +++++++-
 .../GIRepository.enum_info_get_value.page          |   26 ++++++++-
 .../GIRepository.field_info_get_field.page         |   30 ++++++++++-
 .../GIRepository.field_info_get_flags.page         |   22 +++++++-
 .../GIRepository.field_info_get_offset.page        |   22 +++++++-
 .../GIRepository.field_info_get_size.page          |   22 +++++++-
 .../GIRepository.field_info_get_type.page          |   22 +++++++-
 .../GIRepository.field_info_set_field.page         |   30 ++++++++++-
 .../GIRepository.function_info_get_flags.page      |   22 +++++++-
 .../GIRepository.function_info_get_property.page   |   22 +++++++-
 .../GIRepository.function_info_get_symbol.page     |   22 +++++++-
 .../GIRepository.function_info_get_vfunc.page      |   22 +++++++-
 .../GIRepository.function_info_invoke.page         |   42 ++++++++++++++-
 .../GIRepository.info_new.page                     |   32 +++++++++++-
 .../GIRepository.info_type_to_string.page          |   22 +++++++-
 .../GIRepository.interface_info_find_method.page   |   26 ++++++++-
 .../GIRepository.interface_info_find_vfunc.page    |   26 ++++++++-
 .../GIRepository.interface_info_get_constant.page  |   26 ++++++++-
 ...Repository.interface_info_get_iface_struct.page |   22 +++++++-
 .../GIRepository.interface_info_get_method.page    |   26 ++++++++-
 ...IRepository.interface_info_get_n_constants.page |   22 +++++++-
 .../GIRepository.interface_info_get_n_methods.page |   22 +++++++-
 ...ository.interface_info_get_n_prerequisites.page |   22 +++++++-
 ...Repository.interface_info_get_n_properties.page |   22 +++++++-
 .../GIRepository.interface_info_get_n_signals.page |   22 +++++++-
 .../GIRepository.interface_info_get_n_vfuncs.page  |   22 +++++++-
 ...Repository.interface_info_get_prerequisite.page |   26 ++++++++-
 .../GIRepository.interface_info_get_property.page  |   26 ++++++++-
 .../GIRepository.interface_info_get_signal.page    |   26 ++++++++-
 .../GIRepository.interface_info_get_vfunc.page     |   26 ++++++++-
 .../GIRepository.invoke_error_quark.page           |   15 +++++-
 .../GIRepository.nvokeError.page                   |    3 +-
 .../GIRepository.object_info_find_method.page      |   26 ++++++++-
 ...y.object_info_find_method_using_interfaces.page |   30 ++++++++++-
 .../GIRepository.object_info_find_signal.page      |   24 ++++++++-
 .../GIRepository.object_info_find_vfunc.page       |   26 ++++++++-
 .../GIRepository.object_info_get_abstract.page     |   22 +++++++-
 .../GIRepository.object_info_get_class_struct.page |   22 +++++++-
 .../GIRepository.object_info_get_constant.page     |   26 ++++++++-
 .../GIRepository.object_info_get_field.page        |   26 ++++++++-
 .../GIRepository.object_info_get_fundamental.page  |   22 +++++++-
 ...ository.object_info_get_get_value_function.page |   22 +++++++-
 ...object_info_get_get_value_function_pointer.page |   22 +++++++-
 .../GIRepository.object_info_get_interface.page    |   26 ++++++++-
 .../GIRepository.object_info_get_method.page       |   26 ++++++++-
 .../GIRepository.object_info_get_n_constants.page  |   22 +++++++-
 .../GIRepository.object_info_get_n_fields.page     |   22 +++++++-
 .../GIRepository.object_info_get_n_interfaces.page |   22 +++++++-
 .../GIRepository.object_info_get_n_methods.page    |   22 +++++++-
 .../GIRepository.object_info_get_n_properties.page |   22 +++++++-
 .../GIRepository.object_info_get_n_signals.page    |   22 +++++++-
 .../GIRepository.object_info_get_n_vfuncs.page     |   22 +++++++-
 .../GIRepository.object_info_get_parent.page       |   22 +++++++-
 .../GIRepository.object_info_get_property.page     |   26 ++++++++-
 .../GIRepository.object_info_get_ref_function.page |   22 +++++++-
 ...itory.object_info_get_ref_function_pointer.page |   22 +++++++-
 ...ository.object_info_get_set_value_function.page |   22 +++++++-
 ...object_info_get_set_value_function_pointer.page |   22 +++++++-
 .../GIRepository.object_info_get_signal.page       |   26 ++++++++-
 .../GIRepository.object_info_get_type_init.page    |   22 +++++++-
 .../GIRepository.object_info_get_type_name.page    |   22 +++++++-
 ...IRepository.object_info_get_unref_function.page |   22 +++++++-
 ...ory.object_info_get_unref_function_pointer.page |   22 +++++++-
 .../GIRepository.object_info_get_vfunc.page        |   26 ++++++++-
 .../GIRepository.property_info_get_flags.page      |   22 +++++++-
 ...itory.property_info_get_ownership_transfer.page |   22 +++++++-
 .../GIRepository.property_info_get_type.page       |   22 +++++++-
 ...Repository.registered_type_info_get_g_type.page |   22 +++++++-
 ...ository.registered_type_info_get_type_init.page |   22 +++++++-
 ...ository.registered_type_info_get_type_name.page |   22 +++++++-
 ...GIRepository.signal_info_get_class_closure.page |   22 +++++++-
 .../GIRepository.signal_info_get_flags.page        |   22 +++++++-
 .../GIRepository.signal_info_true_stops_emit.page  |   22 +++++++-
 .../GIRepository.struct_info_find_method.page      |   26 ++++++++-
 .../GIRepository.struct_info_get_alignment.page    |   22 +++++++-
 .../GIRepository.struct_info_get_field.page        |   26 ++++++++-
 .../GIRepository.struct_info_get_method.page       |   26 ++++++++-
 .../GIRepository.struct_info_get_n_fields.page     |   22 +++++++-
 .../GIRepository.struct_info_get_n_methods.page    |   22 +++++++-
 .../GIRepository.struct_info_get_size.page         |   22 +++++++-
 .../GIRepository.struct_info_is_foreign.page       |   20 +++++++-
 .../GIRepository.struct_info_is_gtype_struct.page  |   22 +++++++-
 ...IRepository.type_info_get_array_fixed_size.page |   22 +++++++-
 .../GIRepository.type_info_get_array_length.page   |   22 +++++++-
 .../GIRepository.type_info_get_array_type.page     |   22 +++++++-
 .../GIRepository.type_info_get_interface.page      |   22 +++++++-
 .../GIRepository.type_info_get_param_type.page     |   26 ++++++++-
 .../GIRepository.type_info_get_tag.page            |   22 +++++++-
 .../GIRepository.type_info_is_pointer.page         |   22 +++++++-
 .../GIRepository.type_info_is_zero_terminated.page |   22 +++++++-
 .../GIRepository.type_tag_to_string.page           |   22 +++++++-
 .../GIRepository.union_info_find_method.page       |   26 ++++++++-
 .../GIRepository.union_info_get_alignment.page     |   22 +++++++-
 .../GIRepository.union_info_get_discriminator.page |   26 ++++++++-
 ...sitory.union_info_get_discriminator_offset.page |   20 +++++++-
 ...pository.union_info_get_discriminator_type.page |   22 +++++++-
 .../GIRepository.union_info_get_field.page         |   26 ++++++++-
 .../GIRepository.union_info_get_method.page        |   26 ++++++++-
 .../GIRepository.union_info_get_n_fields.page      |   22 +++++++-
 .../GIRepository.union_info_get_n_methods.page     |   22 +++++++-
 .../GIRepository.union_info_get_size.page          |   22 +++++++-
 .../GIRepository.union_info_is_discriminated.page  |   22 +++++++-
 .../GIRepository.value_info_get_value.page         |   22 +++++++-
 .../GIRepository.vfunc_info_get_address.page       |   26 ++++++++-
 .../GIRepository.vfunc_info_get_flags.page         |   22 +++++++-
 .../GIRepository.vfunc_info_get_invoker.page       |   22 +++++++-
 .../GIRepository.vfunc_info_get_offset.page        |   22 +++++++-
 .../GIRepository.vfunc_info_get_signal.page        |   22 +++++++-
 .../GIRepository.vfunc_info_invoke.page            |   46 +++++++++++++++-
 431 files changed, 7383 insertions(+), 744 deletions(-)
---
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ArgInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ArgInfo.page
index 87893a9..8cddb85 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ArgInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ArgInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryArgInfo</title>
-<p>Represents an argument.</p></page>
+  <title>GIRepository.ArgInfo</title>
+<p>Represents an argument.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ArrayType.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ArrayType.page
index bb0afd4..7d348d4 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ArrayType.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ArrayType.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryArrayType</title>
-<p>The type of array in a <link xref="GITypeInfo">GITypeInfo</link>.</p></page>
+  <title>GIRepository.ArrayType</title>
+<p>The type of array in a <link xref="GITypeInfo">GITypeInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.AttributeIter.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.AttributeIter.page
index bcd5f4b..7528050 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.AttributeIter.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.AttributeIter.page
@@ -9,4 +9,5 @@
   </info>
   <title>GIRepositoryAttributeIter</title>
 <p>An opaque structure used to iterate over attributes
-in a <link xref="GIBaseInfo">GIBaseInfo</link> struct.</p></page>
+in a <link xref="GIBaseInfo">GIBaseInfo</link> struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.equal.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.equal.page
index c0aa7e8..6229b15 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.equal.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.equal.page
@@ -1,13 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.equal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_base_info_equal</api:name>
+      <api:arg>
+        <api:type>GIBaseInfo*</api:type>
+        <api:name>info2</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_base_info_equal</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_base_info_equal (GIBaseInfo* info2);
+</code></synopsis>
 <p>Compare two <link xref="GIBaseInfo">GIBaseInfo</link>.</p><p>Using pointer comparison is not practical since many functions return
 different instances of <link xref="GIBaseInfo">GIBaseInfo</link> that refers to the same part of the
-TypeLib; use this function instead to do <link xref="GIBaseInfo">GIBaseInfo</link> comparisons.</p></page>
+TypeLib; use this function instead to do <link xref="GIBaseInfo">GIBaseInfo</link> comparisons.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_attribute.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_attribute.page
index 4a98a95..2892739 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_attribute.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_attribute.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_attribute"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_attribute</api:name>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_base_info_get_attribute</title>
-<p>Retrieve an arbitrary attribute associated with this node.</p></page>
+<synopsis><code mime="text/x-csrc">
+gchar* g_base_info_get_attribute (gchar* name);
+</code></synopsis>
+<p>Retrieve an arbitrary attribute associated with this node.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_container.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_container.page
index 71a8d55..ff4612d 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_container.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_container.page
@@ -1,13 +1,25 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_container"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIBaseInfo*</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_container</api:name>
+    </api:function>
   </info>
   <title>g_base_info_get_container</title>
+<synopsis><code mime="text/x-csrc">
+GIBaseInfo* g_base_info_get_container (void);
+</code></synopsis>
 <p>Obtain the container of the @info. The container is the parent
 GIBaseInfo. For instance, the parent of a <link xref="GIFunctionInfo">GIFunctionInfo</link> is an
-<link xref="GIObjectInfo">GIObjectInfo</link> or <link xref="GIInterfaceInfo">GIInterfaceInfo</link>.</p></page>
+<link xref="GIObjectInfo">GIObjectInfo</link> or <link xref="GIInterfaceInfo">GIInterfaceInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_name.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_name.page
index d4c1286..1fcd173 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_name.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_name.page
@@ -1,13 +1,25 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_name"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_name</api:name>
+    </api:function>
   </info>
   <title>g_base_info_get_name</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_base_info_get_name (void);
+</code></synopsis>
 <p>Obtain the name of the @info. What the name represents depends on
 the <link xref="GIInfoType">GIInfoType</link> of the @info. For instance for <link xref="GIFunctionInfo">GIFunctionInfo</link> it is
-the name of the function.</p></page>
+the name of the function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_namespace.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_namespace.page
index 1cdeb07..8e2736a 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_namespace.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_namespace.page
@@ -1,11 +1,23 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_namespace"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_namespace</api:name>
+    </api:function>
   </info>
   <title>g_base_info_get_namespace</title>
-<p>Obtain the namespace of @info.</p></page>
+<synopsis><code mime="text/x-csrc">
+gchar* g_base_info_get_namespace (void);
+</code></synopsis>
+<p>Obtain the namespace of @info.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_typelib.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_typelib.page
index e9ada1f..c3110ac 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_typelib.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.get_typelib.page
@@ -1,11 +1,23 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_typelib"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypelib*</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_typelib</api:name>
+    </api:function>
   </info>
   <title>g_base_info_get_typelib</title>
-<p>Obtain the typelib this @info belongs to</p></page>
+<synopsis><code mime="text/x-csrc">
+GITypelib* g_base_info_get_typelib (void);
+</code></synopsis>
+<p>Obtain the typelib this @info belongs to</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.is_deprecated.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.is_deprecated.page
index c8206c4..83a23e6 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.is_deprecated.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.is_deprecated.page
@@ -1,12 +1,24 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.is_deprecated"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_base_info_is_deprecated</api:name>
+    </api:function>
   </info>
   <title>g_base_info_is_deprecated</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_base_info_is_deprecated (void);
+</code></synopsis>
 <p>Obtain whether the @info is represents a metadata which is
-deprecated or not.</p></page>
+deprecated or not.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.iterate_attributes.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.iterate_attributes.page
index 82ef15f..b7127dd 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.iterate_attributes.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.iterate_attributes.page
@@ -1,13 +1,38 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.iterate_attributes"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_base_info_iterate_attributes</api:name>
+      <api:arg>
+        <api:type>GIAttributeIter*</api:type>
+        <api:name>iterator</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>char**</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>char**</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_base_info_iterate_attributes</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_base_info_iterate_attributes (GIAttributeIter* iterator,
+                                         char** name,
+                                         char** value);
+</code></synopsis>
 <p>Iterate over all attributes associated with this node.  The iterator
 structure is typically stack allocated, and must have its first
 member initialized to %NULL.</p><p>Both the @name and @value should be treated as constants
@@ -26,4 +51,5 @@ g_print ("attribute name: %s value: %s", name, value);
 }
 }
 &lt;/programlisting&gt;
-&lt;/example&gt;</p></page>
+&lt;/example&gt;</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.page
index 1e29c30..5987810 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.page
@@ -40,4 +40,5 @@ GIBaseInfo
 +----&lt;link linkend="gi-GIRegisteredTypeInfo"&gt;GIRegisteredTypeInfo&lt;/link&gt;
 +----&lt;link linkend="gi-GITypeInfo"&gt;GITypeInfo&lt;/link&gt;
 &lt;/synopsis&gt;
-&lt;/refsect1&gt;</p></page>
+&lt;/refsect1&gt;</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.ref.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.ref.page
index b25dabb..4673e2a 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.ref.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.ref.page
@@ -1,11 +1,23 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.ref"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIBaseInfo*</api:type>
+      </api:returns>
+      <api:name>g_base_info_ref</api:name>
+    </api:function>
   </info>
   <title>g_base_info_ref</title>
-<p>Increases the reference count of @info.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIBaseInfo* g_base_info_ref (void);
+</code></synopsis>
+<p>Increases the reference count of @info.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.unref.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.unref.page
index 9402169..b14af0c 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.unref.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.unref.page
@@ -1,12 +1,24 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.unref"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>g_base_info_unref</api:name>
+    </api:function>
   </info>
   <title>g_base_info_unref</title>
+<synopsis><code mime="text/x-csrc">
+void g_base_info_unref (void);
+</code></synopsis>
 <p>Decreases the reference count of @info. When its reference count
-drops to 0, the info is freed.</p></page>
+drops to 0, the info is freed.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.CallableInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.CallableInfo.page
index 5f1b597..79c00eb 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.CallableInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.CallableInfo.page
@@ -6,6 +6,7 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryCallableInfo</title>
+  <title>GIRepository.CallableInfo</title>
 <p>Represents a callable, either <link xref="GIFunctionInfo">GIFunctionInfo</link>, <link xref="GICallbackInfo">GICallbackInfo</link> or
-<link xref="GIVFuncInfo">GIVFuncInfo</link>.</p></page>
+<link xref="GIVFuncInfo">GIVFuncInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.CallbackInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.CallbackInfo.page
index f04546f..e5a7170 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.CallbackInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.CallbackInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryCallbackInfo</title>
-<p>Represents a callback, eg arguments and return value.</p></page>
+  <title>GIRepository.CallbackInfo</title>
+<p>Represents a callback, eg arguments and return value.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ConstantInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ConstantInfo.page
index af0ea67..4ed05ed 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ConstantInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ConstantInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryConstantInfo</title>
-<p>Represents a constant.</p></page>
+  <title>GIRepository.ConstantInfo</title>
+<p>Represents a constant.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Direction.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Direction.page
index b4eb5f3..fc0949a 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Direction.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Direction.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryDirection</title>
-<p>The direction of a <link xref="GIArgInfo">GIArgInfo</link>.</p></page>
+  <title>GIRepository.Direction</title>
+<p>The direction of a <link xref="GIArgInfo">GIArgInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.EnumInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.EnumInfo.page
index 73da91d..eebac1b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.EnumInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.EnumInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryEnumInfo</title>
-<p>Represents an enum or a flag.</p></page>
+  <title>GIRepository.EnumInfo</title>
+<p>Represents an enum or a flag.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FieldInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FieldInfo.page
index d9a813d..d2cf5c8 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FieldInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FieldInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryFieldInfo</title>
-<p>Represents a field of a <link xref="GIStructInfo">GIStructInfo</link> or a <link xref="GIUnionInfo">GIUnionInfo</link>.</p></page>
+  <title>GIRepository.FieldInfo</title>
+<p>Represents a field of a <link xref="GIStructInfo">GIStructInfo</link> or a <link xref="GIUnionInfo">GIUnionInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FieldInfoFlags.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FieldInfoFlags.page
index 28166d7..22c26a7 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FieldInfoFlags.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FieldInfoFlags.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryFieldInfoFlags</title>
-<p>Flags for a <link xref="GIFieldInfo">GIFieldInfo</link>.</p></page>
+  <title>GIRepository.FieldInfoFlags</title>
+<p>Flags for a <link xref="GIFieldInfo">GIFieldInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FunctionInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FunctionInfo.page
index 8d45f6e..d0b0f45 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FunctionInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FunctionInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryFunctionInfo</title>
-<p>Represents a function, eg arguments and return value.</p></page>
+  <title>GIRepository.FunctionInfo</title>
+<p>Represents a function, eg arguments and return value.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FunctionInfoFlags.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FunctionInfoFlags.page
index b19947d..03c4d5a 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FunctionInfoFlags.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.FunctionInfoFlags.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryFunctionInfoFlags</title>
-<p>Flags for a <link xref="GIFunctionInfo">GIFunctionInfo</link> struct.</p></page>
+  <title>GIRepository.FunctionInfoFlags</title>
+<p>Flags for a <link xref="GIFunctionInfo">GIFunctionInfo</link> struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.InfoType.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.InfoType.page
index d37bac0..f9964f2 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.InfoType.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.InfoType.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryInfoType</title>
-<p>The type of a GIBaseInfo struct.</p></page>
+  <title>GIRepository.InfoType</title>
+<p>The type of a GIBaseInfo struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.InterfaceInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.InterfaceInfo.page
index 3623797..27ebf8f 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.InterfaceInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.InterfaceInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryInterfaceInfo</title>
-<p>Represents an interface.</p></page>
+  <title>GIRepository.InterfaceInfo</title>
+<p>Represents an interface.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfo.page
index 0942832..fd74384 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryObjectInfo</title>
-<p>Represents an object.</p></page>
+  <title>GIRepository.ObjectInfo</title>
+<p>Represents an object.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoGetValueFunction.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoGetValueFunction.page
index 61c9ea8..a8a8639 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoGetValueFunction.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoGetValueFunction.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryObjectInfoGetValueFunction</title>
-<p>Extract an object instance out of @value</p></page>
+  <title>GIRepository.ObjectInfoGetValueFunction</title>
+<p>Extract an object instance out of @value</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoRefFunction.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoRefFunction.page
index 1fd5557..12b8b52 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoRefFunction.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoRefFunction.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryObjectInfoRefFunction</title>
-<p>Increases the reference count of an object instance.</p></page>
+  <title>GIRepository.ObjectInfoRefFunction</title>
+<p>Increases the reference count of an object instance.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoSetValueFunction.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoSetValueFunction.page
index 4ad842f..3d5c677 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoSetValueFunction.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoSetValueFunction.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryObjectInfoSetValueFunction</title>
-<p>Update @value and attach the object instance pointer @object to it.</p></page>
+  <title>GIRepository.ObjectInfoSetValueFunction</title>
+<p>Update @value and attach the object instance pointer @object to it.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoUnrefFunction.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoUnrefFunction.page
index d52002b..1112009 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoUnrefFunction.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ObjectInfoUnrefFunction.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryObjectInfoUnrefFunction</title>
-<p>Decreases the reference count of an object instance.</p></page>
+  <title>GIRepository.ObjectInfoUnrefFunction</title>
+<p>Decreases the reference count of an object instance.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.PropertyInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.PropertyInfo.page
index d24aea5..2325b69 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.PropertyInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.PropertyInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryPropertyInfo</title>
-<p>Represents a property of a <link xref="GIObjectInfo">GIObjectInfo</link> or a <link xref="GIInterfaceInfo">GIInterfaceInfo</link>.</p></page>
+  <title>GIRepository.PropertyInfo</title>
+<p>Represents a property of a <link xref="GIObjectInfo">GIObjectInfo</link> or a <link xref="GIInterfaceInfo">GIInterfaceInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RegisteredTypeInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RegisteredTypeInfo.page
index 14de032..d98e976 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RegisteredTypeInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RegisteredTypeInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryRegisteredTypeInfo</title>
-<p>Represent a registered type.</p></page>
+  <title>GIRepository.RegisteredTypeInfo</title>
+<p>Represent a registered type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.dump.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.dump.page
new file mode 100644
index 0000000..1240f94
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.dump.page
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.dump"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_irepository_dump</api:name>
+      <api:arg>
+        <api:type>char*</api:type>
+        <api:name>arg</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>g_irepository_dump</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_irepository_dump (char* arg);
+</code></synopsis>
+
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.enumerate_versions.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.enumerate_versions.page
index c54c217..d09224f 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.enumerate_versions.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.enumerate_versions.page
@@ -1,12 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.enumerate_versions"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GList*</api:type>
+      </api:returns>
+      <api:name>g_irepository_enumerate_versions</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_enumerate_versions</title>
+<synopsis><code mime="text/x-csrc">
+GList* g_irepository_enumerate_versions (GIRepository *self,
+gchar* namespace_);
+</code></synopsis>
 <p>Obtain an unordered list of versions (either currently loaded or
-available) for @namespace_ in this @repository.</p></page>
+available) for @namespace_ in this @repository.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.error_quark.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.error_quark.page
new file mode 100644
index 0000000..2ee3832
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.error_quark.page
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.error_quark"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GQuark</api:type>
+      </api:returns>
+      <api:name>g_irepository_error_quark</api:name>
+    </api:function>
+  </info>
+  <title>g_irepository_error_quark</title>
+<synopsis><code mime="text/x-csrc">
+GQuark g_irepository_error_quark (void);
+</code></synopsis>
+
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_error_domain.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_error_domain.page
index d2e4082..e1d1fef 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_error_domain.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_error_domain.page
@@ -1,14 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.find_by_error_domain"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIEnumInfo*</api:type>
+      </api:returns>
+      <api:name>g_irepository_find_by_error_domain</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GQuark</api:type>
+        <api:name>domain</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_find_by_error_domain</title>
+<synopsis><code mime="text/x-csrc">
+GIEnumInfo* g_irepository_find_by_error_domain (GIRepository *self,
+GQuark domain);
+</code></synopsis>
 <p>Searches for the enum type corresponding to the given <link xref="GError">GError</link>
 domain. Before calling this function for a particular namespace,
 you must call g_irepository_require() once to load the namespace, or
-otherwise ensure the namespace has already been loaded.</p><p>enum type, or %NULL</p></page>
+otherwise ensure the namespace has already been loaded.</p><p>enum type, or %NULL</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_gtype.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_gtype.page
index 2677503..6c06913 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_gtype.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_gtype.page
@@ -1,16 +1,37 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.find_by_gtype"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIBaseInfo*</api:type>
+      </api:returns>
+      <api:name>g_irepository_find_by_gtype</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GType</api:type>
+        <api:name>gtype</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_find_by_gtype</title>
+<synopsis><code mime="text/x-csrc">
+GIBaseInfo* g_irepository_find_by_gtype (GIRepository *self,
+GType gtype);
+</code></synopsis>
 <p>Searches all loaded namespaces for a particular <link xref="GType">GType</link>.  Note that
 in order to locate the metadata, the namespace corresponding to
 the type must first have been loaded.  There is currently no
 mechanism for determining the namespace which corresponds to an
 arbitrary GType - thus, this function will operate most reliably
-when you know the GType to originate from be from a loaded namespace.</p></page>
+when you know the GType to originate from be from a loaded namespace.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_name.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_name.page
index 7eada69..82ef641 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_name.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.find_by_name.page
@@ -1,14 +1,40 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.find_by_name"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIBaseInfo*</api:type>
+      </api:returns>
+      <api:name>g_irepository_find_by_name</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_find_by_name</title>
+<synopsis><code mime="text/x-csrc">
+GIBaseInfo* g_irepository_find_by_name (GIRepository *self,
+gchar* namespace_,
+                                        gchar* name);
+</code></synopsis>
 <p>Searches for a particular entry in a namespace.  Before calling
 this function for a particular namespace, you must call
 g_irepository_require() once to load the namespace, or otherwise
-ensure the namespace has already been loaded.</p></page>
+ensure the namespace has already been loaded.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_c_prefix.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_c_prefix.page
index e23faa9..9f42b8d 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_c_prefix.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_c_prefix.page
@@ -1,14 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_c_prefix"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_c_prefix</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_get_c_prefix</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_irepository_get_c_prefix (GIRepository *self,
+gchar* namespace_);
+</code></synopsis>
 <p>This function returns the "C prefix", or the C level namespace
 associated with the given introspection namespace.  Each C symbol
 starts with this prefix, as well each <link xref="GType">GType</link> in the library.</p><p>Note: The namespace must have already been loaded using a function
-such as g_irepository_require() before calling this function.</p></page>
+such as g_irepository_require() before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_default.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_default.page
new file mode 100644
index 0000000..ba66ea4
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_default.page
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.get_default"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_default</api:name>
+    </api:function>
+  </info>
+  <title>g_irepository_get_default</title>
+<synopsis><code mime="text/x-csrc">
+GIRepository* g_irepository_get_default (void);
+</code></synopsis>
+<p>Returns the singleton process-global default <link xref="GIRepository">GIRepository</link>.  It is
+not currently supported to have multiple repositories in a
+particular process, but this function is provided in the unlikely
+eventuality that it would become possible, and as a convenience for
+higher level language bindings to conform to the GObject method
+call conventions.
+All methods on <link xref="GIRepository">GIRepository</link> also accept %NULL as an instance
+parameter to mean this default repository, which is usually more
+convenient for C.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_dependencies.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_dependencies.page
index f88f13c..ce4a80e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_dependencies.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_dependencies.page
@@ -1,14 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_dependencies"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_dependencies</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_get_dependencies</title>
+<synopsis><code mime="text/x-csrc">
+utf8* g_irepository_get_dependencies (GIRepository *self,
+gchar* namespace_);
+</code></synopsis>
 <p>Return an array of all (transitive) dependencies for namespace
 @namespace_, including version.  The returned strings are of the
 form &lt;code&gt;namespace-version&lt;/code&gt;.</p><p>Note: The namespace must have already been loaded using a function
-such as g_irepository_require() before calling this function.</p></page>
+such as g_irepository_require() before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_info.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_info.page
index fbfb4ed..59d1a23 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_info.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_info.page
@@ -1,15 +1,41 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_info"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIBaseInfo*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_info</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>index</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_get_info</title>
+<synopsis><code mime="text/x-csrc">
+GIBaseInfo* g_irepository_get_info (GIRepository *self,
+gchar* namespace_,
+                                    gint index);
+</code></synopsis>
 <p>This function returns a particular metadata entry in the
 given namespace @namespace_.  The namespace must have
 already been loaded before calling this function.
 See g_irepository_get_n_infos() to find the maximum number of
-entries.</p></page>
+entries.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_loaded_namespaces.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_loaded_namespaces.page
index c206e89..a42e2b6 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_loaded_namespaces.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_loaded_namespaces.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_loaded_namespaces"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_loaded_namespaces</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_get_loaded_namespaces</title>
-<p>Return the list of currently loaded namespaces.</p></page>
+<synopsis><code mime="text/x-csrc">
+utf8* g_irepository_get_loaded_namespaces (GIRepository *self);
+</code></synopsis>
+<p>Return the list of currently loaded namespaces.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_n_infos.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_n_infos.page
index dc1f6a4..cbfea22 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_n_infos.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_n_infos.page
@@ -1,13 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_n_infos"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_n_infos</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_get_n_infos</title>
+<synopsis><code mime="text/x-csrc">
+gint g_irepository_get_n_infos (GIRepository *self,
+gchar* namespace_);
+</code></synopsis>
 <p>This function returns the number of metadata entries in
 given namespace @namespace_.  The namespace must have
-already been loaded before calling this function.</p></page>
+already been loaded before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_option_group.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_option_group.page
new file mode 100644
index 0000000..6f895d4
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_option_group.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.get_option_group"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GOptionGroup*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_option_group</api:name>
+    </api:function>
+  </info>
+  <title>g_irepository_get_option_group</title>
+<synopsis><code mime="text/x-csrc">
+GOptionGroup* g_irepository_get_option_group (void);
+</code></synopsis>
+<p>Obtain the option group for girepository, it's used
+by the dumper and for programs that wants to provide
+introspection information</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_search_path.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_search_path.page
new file mode 100644
index 0000000..1163a1b
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_search_path.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.get_search_path"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GSList*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_search_path</api:name>
+    </api:function>
+  </info>
+  <title>g_irepository_get_search_path</title>
+<synopsis><code mime="text/x-csrc">
+GSList* g_irepository_get_search_path (void);
+</code></synopsis>
+<p>Returns the search path the GIRepository will use when looking for typelibs.
+The string is internal to GIRespository and should not be freed, nor should
+the elements.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_shared_library.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_shared_library.page
index 4ae1a36..e8b629b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_shared_library.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_shared_library.page
@@ -1,15 +1,36 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_shared_library"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_shared_library</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_get_shared_library</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_irepository_get_shared_library (GIRepository *self,
+gchar* namespace_);
+</code></synopsis>
 <p>This function returns the full path to the shared C library
 associated with the given namespace @namespace_. There may be no
 shared library path associated, in which case this function will
 return %NULL.</p><p>Note: The namespace must have already been loaded using a function
-such as g_irepository_require() before calling this function.</p></page>
+such as g_irepository_require() before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_typelib_path.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_typelib_path.page
index ad702fe..624a5eb 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_typelib_path.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_typelib_path.page
@@ -1,14 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_typelib_path"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_typelib_path</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_get_typelib_path</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_irepository_get_typelib_path (GIRepository *self,
+gchar* namespace_);
+</code></synopsis>
 <p>If namespace @namespace_ is loaded, return the full path to the
 .typelib file it was loaded from.  If the typelib for
 namespace @namespace_ was included in a shared library, return
-the special string "$lt;builtin$gt;".</p></page>
+the special string "$lt;builtin$gt;".</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_version.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_version.page
index 860bc08..778dbc2 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_version.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.get_version.page
@@ -1,13 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_version"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_version</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_get_version</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_irepository_get_version (GIRepository *self,
+gchar* namespace_);
+</code></synopsis>
 <p>This function returns the loaded version associated with the given
 namespace @namespace_.</p><p>Note: The namespace must have already been loaded using a function
-such as g_irepository_require() before calling this function.</p></page>
+such as g_irepository_require() before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.is_registered.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.is_registered.page
index 95f2b4d..cbf0538 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.is_registered.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.is_registered.page
@@ -1,16 +1,42 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.is_registered"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_irepository_is_registered</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>version</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_is_registered</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_irepository_is_registered (GIRepository *self,
+gchar* namespace_,
+                                      gchar* version);
+</code></synopsis>
 <p>Check whether a particular namespace (and optionally, a specific
 version thereof) is currently loaded.  This function is likely to
 only be useful in unusual circumstances; in order to act upon
 metadata in the namespace, you should call g_irepository_require()
 instead which will ensure the namespace is loaded, and return as
-quickly as this function will if it has already been loaded.</p></page>
+quickly as this function will if it has already been loaded.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.load_typelib.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.load_typelib.page
index d5bdf26..0035ae2 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.load_typelib.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.load_typelib.page
@@ -1,11 +1,37 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.load_typelib"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>char*</api:type>
+      </api:returns>
+      <api:name>g_irepository_load_typelib</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GITypelib*</api:type>
+        <api:name>typelib</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepositoryLoadFlags</api:type>
+        <api:name>flags</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_load_typelib</title>
+<synopsis><code mime="text/x-csrc">
+char* g_irepository_load_typelib (GIRepository *self,
+GITypelib* typelib,
+                                  GIRepositoryLoadFlags flags);
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.page
index 24e0f0b..456c1c0 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.page
@@ -3,11 +3,13 @@
       type="guide"
       style="class"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="class"/>
   </info>
-  <title>GIRepositoryRepository</title>
+  <title>GIRepository</title>
+
   <synopsis ui:expanded="no">
     <title>Hierarchy</title>
     <tree>
@@ -16,19 +18,28 @@
       </item>
     </tree>
   </synopsis>
-  <links type="topic" ui:expanded="yes" groups="constructor">
+  <links type="topic" ui:expanded="yes"
+         api:type="function" api:mime="text/x-csrc"
+         groups="constructor" style="linklist">
     <title>Constructors</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="method">
+  <links type="topic" ui:expanded="yes"
+         api:type="function" api:mime="text/x-csrc"
+         groups="method" style="linklist">
     <title>Methods</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="property">
+  <links type="topic" ui:expanded="yes"
+         api:type="function" api:mime="text/x-csrc"
+         groups="function" style="linklist">
+    <title>Functions</title>
+  </links>
+  <links type="topic" ui:expanded="yes" groups="property" style="linklist">
     <title>Properties</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="signal">
+  <links type="topic" ui:expanded="yes" groups="signal" style="linklist">
     <title>Signals</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="#first #default #last">
+  <links type="topic" ui:expanded="yes" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.prepend_search_path.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.prepend_search_path.page
new file mode 100644
index 0000000..5b86d0c
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.prepend_search_path.page
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.prepend_search_path"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>g_irepository_prepend_search_path</api:name>
+      <api:arg>
+        <api:type>char*</api:type>
+        <api:name>directory</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>g_irepository_prepend_search_path</title>
+<synopsis><code mime="text/x-csrc">
+void g_irepository_prepend_search_path (char* directory);
+</code></synopsis>
+
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.require.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.require.page
index 4eea3fa..19e74b0 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.require.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.require.page
@@ -1,15 +1,46 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.require"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypelib*</api:type>
+      </api:returns>
+      <api:name>g_irepository_require</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>version</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepositoryLoadFlags</api:type>
+        <api:name>flags</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_require</title>
+<synopsis><code mime="text/x-csrc">
+GITypelib* g_irepository_require (GIRepository *self,
+gchar* namespace_,
+                                  gchar* version,
+                                  GIRepositoryLoadFlags flags);
+</code></synopsis>
 <p>Force the namespace @namespace_ to be loaded if it isn't already.
 If @namespace_ is not loaded, this function will search for a
 ".typelib" file using the repository search path.  In addition, a
 version @version of namespace may be specified.  If @version is
-not specified, the latest will be used.</p></page>
+not specified, the latest will be used.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.require_private.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.require_private.page
index 3b18a06..1ba3eee 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.require_private.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Repository.require_private.page
@@ -1,15 +1,51 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.require_private"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypelib*</api:type>
+      </api:returns>
+      <api:name>g_irepository_require_private</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>typelib_dir</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>version</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepositoryLoadFlags</api:type>
+        <api:name>flags</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_irepository_require_private</title>
+<synopsis><code mime="text/x-csrc">
+GITypelib* g_irepository_require_private (GIRepository *self,
+gchar* typelib_dir,
+                                          gchar* namespace_,
+                                          gchar* version,
+                                          GIRepositoryLoadFlags flags);
+</code></synopsis>
 <p>Force the namespace @namespace_ to be loaded if it isn't already.
 If @namespace_ is not loaded, this function will search for a
 ".typelib" file within the private directory only. In addition, a
 version @version of namespace should be specified.  If @version is
-not specified, the latest will be used.</p></page>
+not specified, the latest will be used.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryClass.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryClass.page
index 4170b9e..337999a 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryClass.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryClass.page
@@ -8,4 +8,5 @@
     <link type="guide" xref="index"/>
   </info>
   <title>GIRepositoryRepositoryClass</title>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryError.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryError.page
index 8c5880c..3f996c9 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryError.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryError.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryRepositoryError</title>
+  <title>GIRepository.RepositoryError</title>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryLoadFlags.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryLoadFlags.page
index a1a838e..6ad05e8 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryLoadFlags.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.RepositoryLoadFlags.page
@@ -6,6 +6,7 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryRepositoryLoadFlags</title>
+  <title>GIRepository.RepositoryLoadFlags</title>
 <p>Flags that controlls how a typelib is loaded by
-GIRepositry, used by g_irepository_load_typelib().</p></page>
+GIRepositry, used by g_irepository_load_typelib().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ScopeType.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ScopeType.page
index 14b21a7..f2d85eb 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ScopeType.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ScopeType.page
@@ -6,7 +6,8 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryScopeType</title>
+  <title>GIRepository.ScopeType</title>
 <p>Scope type of a <link xref="GIArgInfo">GIArgInfo</link> representing callback, determines how the
 callback is invoked and is used to decided when the invoke structs
-can be freed.</p></page>
+can be freed.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.SignalInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.SignalInfo.page
index 1b90524..24f8471 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.SignalInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.SignalInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositorySignalInfo</title>
-<p>Represents a signal.</p></page>
+  <title>GIRepository.SignalInfo</title>
+<p>Represents a signal.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.StructInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.StructInfo.page
index 8cc7382..5e1cb0d 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.StructInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.StructInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryStructInfo</title>
-<p>Represents a struct.</p></page>
+  <title>GIRepository.StructInfo</title>
+<p>Represents a struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Transfer.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Transfer.page
index 0aa94ec..67f0729 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Transfer.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.Transfer.page
@@ -6,7 +6,7 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryTransfer</title>
+  <title>GIRepository.Transfer</title>
 <p>The transfer is the exchange of data between two parts, from the callee to
 the caller. The callee is either a function/method/signal or an
 object/interface where a property is defined. The caller is the side
@@ -16,4 +16,5 @@ ownership transfer is complete. In case of a containing type such as a list,
 an array or a hash table the container itself is specified differently from
 the items within the container itself. Each container is freed differently,
 check the documentation for the types themselves for information on how to
-free them.</p></page>
+free them.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.TypeInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.TypeInfo.page
index 946b898..5b46d87 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.TypeInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.TypeInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryTypeInfo</title>
-<p>Represents type information, direction, transfer etc.</p></page>
+  <title>GIRepository.TypeInfo</title>
+<p>Represents type information, direction, transfer etc.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.TypeTag.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.TypeTag.page
index c7f4f0e..d78b167 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.TypeTag.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.TypeTag.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryTypeTag</title>
-<p>The type tag of a <link xref="GITypeInfo">GITypeInfo</link>.</p></page>
+  <title>GIRepository.TypeTag</title>
+<p>The type tag of a <link xref="GITypeInfo">GITypeInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.UnionInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.UnionInfo.page
index 792f5c6..013ecb5 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.UnionInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.UnionInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryUnionInfo</title>
-<p>Represents a union.</p></page>
+  <title>GIRepository.UnionInfo</title>
+<p>Represents a union.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.VFuncInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.VFuncInfo.page
index f500932..a864ec1 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.VFuncInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.VFuncInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryVFuncInfo</title>
-<p>Represents a virtual function.</p></page>
+  <title>GIRepository.VFuncInfo</title>
+<p>Represents a virtual function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.VFuncInfoFlags.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.VFuncInfoFlags.page
index 44c8512..7b6d703 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.VFuncInfoFlags.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.VFuncInfoFlags.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryVFuncInfoFlags</title>
-<p>Flags of a <link xref="GIVFuncInfo">GIVFuncInfo</link> struct.</p></page>
+  <title>GIRepository.VFuncInfoFlags</title>
+<p>Flags of a <link xref="GIVFuncInfo">GIVFuncInfo</link> struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ValueInfo.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ValueInfo.page
index 5476168..38d93f2 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ValueInfo.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.ValueInfo.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositoryValueInfo</title>
-<p>Represents a enum value of a <link xref="GIEnumInfo">GIEnumInfo</link>.</p></page>
+  <title>GIRepository.ValueInfo</title>
+<p>Represents a enum value of a <link xref="GIEnumInfo">GIEnumInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository._Argument.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository._Argument.page
index ad4e308..b5472b9 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository._Argument.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository._Argument.page
@@ -6,5 +6,6 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepository_Argument</title>
+  <title>GIRepository._Argument</title>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository._BaseInfoStub.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository._BaseInfoStub.page
index 69fb24b..42ab6af 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository._BaseInfoStub.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository._BaseInfoStub.page
@@ -8,4 +8,5 @@
     <link type="guide" xref="index"/>
   </info>
   <title>GIRepository_BaseInfoStub</title>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_closure.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_closure.page
index 00102ce..08ef6eb 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_closure.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_closure.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_closure"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_closure</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_get_closure</title>
+<synopsis><code mime="text/x-csrc">
+gint g_arg_info_get_closure (GIArgInfo* info);
+</code></synopsis>
 <p>Obtain the index of the user data argument. This is only valid
-for arguments which are callbacks.</p></page>
+for arguments which are callbacks.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_destroy.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_destroy.page
index 712afa9..73d1321 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_destroy.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_destroy.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_destroy"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_destroy</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_get_destroy</title>
+<synopsis><code mime="text/x-csrc">
+gint g_arg_info_get_destroy (GIArgInfo* info);
+</code></synopsis>
 <p>Obtains the index of the <link xref="GDestroyNotify">GDestroyNotify</link> argument. This is only valid
-for arguments which are callbacks.</p></page>
+for arguments which are callbacks.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_direction.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_direction.page
index 8fa3d81..b46d749 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_direction.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_direction.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_direction"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIDirection</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_direction</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_get_direction</title>
+<synopsis><code mime="text/x-csrc">
+GIDirection g_arg_info_get_direction (GIArgInfo* info);
+</code></synopsis>
 <p>Obtain the direction of the argument. Check <link xref="GIDirection">GIDirection</link> for possible
-direction values.</p></page>
+direction values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_ownership_transfer.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_ownership_transfer.page
index 0b969ba..8173c9d 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_ownership_transfer.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_ownership_transfer.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_ownership_transfer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITransfer</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_ownership_transfer</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_get_ownership_transfer</title>
+<synopsis><code mime="text/x-csrc">
+GITransfer g_arg_info_get_ownership_transfer (GIArgInfo* info);
+</code></synopsis>
 <p>Obtain the ownership transfer for this argument.
-<link xref="GITransfer">GITransfer</link> contains a list of possible values.</p></page>
+<link xref="GITransfer">GITransfer</link> contains a list of possible values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_scope.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_scope.page
index 3dece4c..c955513 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_scope.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_scope.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_scope"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIScopeType</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_scope</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_get_scope</title>
+<synopsis><code mime="text/x-csrc">
+GIScopeType g_arg_info_get_scope (GIArgInfo* info);
+</code></synopsis>
 <p>Obtain the scope type for this argument. The scope type explains
 how a callback is going to be invoked, most importantly when
 the resources required to invoke it can be freed.
-<link xref="GIScopeType">GIScopeType</link> contains a list of possible values.</p></page>
+<link xref="GIScopeType">GIScopeType</link> contains a list of possible values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_type.page
index e0096a9..53af977 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_get_type.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypeInfo*</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_get_type</title>
-<p>Obtain the type information for @info.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GITypeInfo* g_arg_info_get_type (GIArgInfo* info);
+</code></synopsis>
+<p>Obtain the type information for @info.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_caller_allocates.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_caller_allocates.page
index d1cdd43..51f5038 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_caller_allocates.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_caller_allocates.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_is_caller_allocates"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_is_caller_allocates</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_is_caller_allocates</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_arg_info_is_caller_allocates (GIArgInfo* info);
+</code></synopsis>
 <p>Obtain if the argument is a pointer to a struct or object that will
 receive an output of a function.  The default assumption for
 %GI_DIRECTION_OUT arguments which have allocation is that the
-callee allocates; if this is %TRUE, then the caller must allocate.</p></page>
+callee allocates; if this is %TRUE, then the caller must allocate.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_optional.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_optional.page
index bf5482c..7afdd72 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_optional.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_optional.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_is_optional"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_is_optional</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_is_optional</title>
-<p>Obtain if the argument is optional.</p></page>
+<synopsis><code mime="text/x-csrc">
+gboolean g_arg_info_is_optional (GIArgInfo* info);
+</code></synopsis>
+<p>Obtain if the argument is optional.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_return_value.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_return_value.page
index a65a74f..9e60fdc 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_return_value.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_return_value.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_is_return_value"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_is_return_value</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_is_return_value</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_arg_info_is_return_value (GIArgInfo* info);
+</code></synopsis>
 <p>Obtain if the argument is a return value. It can either be a
-parameter or a return value.</p></page>
+parameter or a return value.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_skip.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_skip.page
index 04bf674..c8407b0 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_skip.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_is_skip.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_is_skip"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_is_skip</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_is_skip</title>
-<p>Obtain if an argument is only useful in C.</p></page>
+<synopsis><code mime="text/x-csrc">
+gboolean g_arg_info_is_skip (GIArgInfo* info);
+</code></synopsis>
+<p>Obtain if an argument is only useful in C.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_load_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_load_type.page
index 88a90d3..9b57e0e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_load_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_load_type.page
@@ -1,13 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_load_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>g_arg_info_load_type</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_load_type</title>
+<synopsis><code mime="text/x-csrc">
+void g_arg_info_load_type (GIArgInfo* info,
+                           GITypeInfo* type);
+</code></synopsis>
 <p>Obtain information about a the type of given argument @info; this
 function is a variant of g_arg_info_get_type() designed for stack
-allocation.</p><p>The initialized @type must not be referenced after @info is deallocated.</p></page>
+allocation.</p><p>The initialized @type must not be referenced after @info is deallocated.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_may_be_null.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_may_be_null.page
index 549622c..2f67849 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_may_be_null.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.arg_info_may_be_null.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_may_be_null"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_may_be_null</api:name>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_arg_info_may_be_null</title>
-<p>Obtain if the argument accepts %NULL.</p></page>
+<synopsis><code mime="text/x-csrc">
+gboolean g_arg_info_may_be_null (GIArgInfo* info);
+</code></synopsis>
+<p>Obtain if the argument accepts %NULL.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.base_info_get_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.base_info_get_type.page
index 214ed0e..06866b7 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.base_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.base_info_get_type.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.base_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIInfoType</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIBaseInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_base_info_get_type</title>
-<p>Obtain the info type of the GIBaseInfo.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIInfoType g_base_info_get_type (GIBaseInfo* info);
+</code></synopsis>
+<p>Obtain the info type of the GIBaseInfo.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_arg.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_arg.page
index 87bd969..00cb5b6 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_arg.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_arg.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_arg"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIArgInfo*</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_arg</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_get_arg</title>
-<p>Obtain information about a particular argument of this callable.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIArgInfo* g_callable_info_get_arg (GICallableInfo* info,
+                                    gint n);
+</code></synopsis>
+<p>Obtain information about a particular argument of this callable.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_caller_owns.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_caller_owns.page
index 3af152c..1c91b38 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_caller_owns.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_caller_owns.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_caller_owns"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITransfer</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_caller_owns</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_get_caller_owns</title>
+<synopsis><code mime="text/x-csrc">
+GITransfer g_callable_info_get_caller_owns (GICallableInfo* info);
+</code></synopsis>
 <p>See whether the caller owns the return value of this callable.
-<link xref="GITransfer">GITransfer</link> contains a list of possible transfer values.</p></page>
+<link xref="GITransfer">GITransfer</link> contains a list of possible transfer values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_n_args.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_n_args.page
index 4d3ff47..8b853ed 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_n_args.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_n_args.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_n_args"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_n_args</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_get_n_args</title>
-<p>Obtain the number of arguments (both IN and OUT) for this callable.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_callable_info_get_n_args (GICallableInfo* info);
+</code></synopsis>
+<p>Obtain the number of arguments (both IN and OUT) for this callable.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_return_attribute.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_return_attribute.page
index 9413f4b..eeb4c26 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_return_attribute.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_return_attribute.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_return_attribute"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_return_attribute</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_get_return_attribute</title>
-<p>Retrieve an arbitrary attribute associated with the return value.</p></page>
+<synopsis><code mime="text/x-csrc">
+gchar* g_callable_info_get_return_attribute (GICallableInfo* info,
+                                             gchar* name);
+</code></synopsis>
+<p>Retrieve an arbitrary attribute associated with the return value.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_return_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_return_type.page
index 729d843..34b7ebc 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_return_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_get_return_type.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_return_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypeInfo*</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_return_type</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_get_return_type</title>
-<p>Obtain the return type of a callable item as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GITypeInfo* g_callable_info_get_return_type (GICallableInfo* info);
+</code></synopsis>
+<p>Obtain the return type of a callable item as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_iterate_return_attributes.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_iterate_return_attributes.page
index 9a76370..5eba4d3 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_iterate_return_attributes.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_iterate_return_attributes.page
@@ -1,15 +1,46 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_iterate_return_attributes"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_callable_info_iterate_return_attributes</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIAttributeIter*</api:type>
+        <api:name>iterator</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>char**</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>char**</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_iterate_return_attributes</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_callable_info_iterate_return_attributes (GICallableInfo* info,
+                                                    GIAttributeIter* iterator,
+                                                    char** name,
+                                                    char** value);
+</code></synopsis>
 <p>Iterate over all attributes associated with the return value.  The
 iterator structure is typically stack allocated, and must have its
 first member initialized to %NULL.</p><p>Both the @name and @value should be treated as constants
 and must not be freed.</p><p>See g_base_info_iterate_attributes() for an example of how to use a
-similar API.</p></page>
+similar API.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_load_arg.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_load_arg.page
index c00ca54..35db433 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_load_arg.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_load_arg.page
@@ -1,13 +1,39 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_load_arg"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>g_callable_info_load_arg</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgInfo*</api:type>
+        <api:name>arg</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_load_arg</title>
+<synopsis><code mime="text/x-csrc">
+void g_callable_info_load_arg (GICallableInfo* info,
+                               gint n,
+                               GIArgInfo* arg);
+</code></synopsis>
 <p>Obtain information about a particular argument of this callable; this
 function is a variant of g_callable_info_get_arg() designed for stack
-allocation.</p><p>The initialized @arg must not be referenced after @info is deallocated.</p></page>
+allocation.</p><p>The initialized @arg must not be referenced after @info is deallocated.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_load_return_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_load_return_type.page
index e64c6e9..a12e250 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_load_return_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_load_return_type.page
@@ -1,13 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_load_return_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>g_callable_info_load_return_type</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_load_return_type</title>
+<synopsis><code mime="text/x-csrc">
+void g_callable_info_load_return_type (GICallableInfo* info,
+                                       GITypeInfo* type);
+</code></synopsis>
 <p>Obtain information about a return value of callable; this
 function is a variant of g_callable_info_get_return_type() designed for stack
-allocation.</p><p>The initialized @type must not be referenced after @info is deallocated.</p></page>
+allocation.</p><p>The initialized @type must not be referenced after @info is deallocated.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_may_return_null.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_may_return_null.page
index 59ef2af..e3c0f0e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_may_return_null.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_may_return_null.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_may_return_null"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_callable_info_may_return_null</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_may_return_null</title>
-<p>See if a callable could return %NULL.</p></page>
+<synopsis><code mime="text/x-csrc">
+gboolean g_callable_info_may_return_null (GICallableInfo* info);
+</code></synopsis>
+<p>See if a callable could return %NULL.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_skip_return.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_skip_return.page
index 0e9fa95..680fc27 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_skip_return.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.callable_info_skip_return.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_skip_return"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_callable_info_skip_return</api:name>
+      <api:arg>
+        <api:type>GICallableInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_callable_info_skip_return</title>
-<p>See if a callable's return value is only useful in C.</p></page>
+<synopsis><code mime="text/x-csrc">
+gboolean g_callable_info_skip_return (GICallableInfo* info);
+</code></synopsis>
+<p>See if a callable's return value is only useful in C.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_free_value.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_free_value.page
new file mode 100644
index 0000000..685c0b3
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_free_value.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.constant_info_free_value"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>g_constant_info_free_value</api:name>
+      <api:arg>
+        <api:type>GIConstantInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>g_constant_info_free_value</title>
+<synopsis><code mime="text/x-csrc">
+void g_constant_info_free_value (GIConstantInfo* info,
+                                 GIArgument* value);
+</code></synopsis>
+<p>Free the value returned from g_constant_info_get_value().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_get_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_get_type.page
index 9e4309b..bb8a681 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_get_type.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.constant_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypeInfo*</api:type>
+      </api:returns>
+      <api:name>g_constant_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIConstantInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_constant_info_get_type</title>
-<p>Obtain the type of the constant as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GITypeInfo* g_constant_info_get_type (GIConstantInfo* info);
+</code></synopsis>
+<p>Obtain the type of the constant as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_get_value.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_get_value.page
index e004e64..9e9712e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_get_value.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.constant_info_get_value.page
@@ -1,13 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.constant_info_get_value"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_constant_info_get_value</api:name>
+      <api:arg>
+        <api:type>GIConstantInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_constant_info_get_value</title>
+<synopsis><code mime="text/x-csrc">
+gint g_constant_info_get_value (GIConstantInfo* info,
+                                GIArgument* value);
+</code></synopsis>
 <p>Obtain the value associated with the <link xref="GIConstantInfo">GIConstantInfo</link> and store it in the
 @value parameter. @argument needs to be allocated before passing it in.
-The size of the constant value stored in @argument will be returned.</p></page>
+The size of the constant value stored in @argument will be returned.
+Free the value with g_constant_info_free_value().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_error_domain.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_error_domain.page
index 6dc3ff4..c6ac0fd 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_error_domain.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_error_domain.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.enum_info_get_error_domain"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_error_domain</api:name>
+      <api:arg>
+        <api:type>GIEnumInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_enum_info_get_error_domain</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_enum_info_get_error_domain (GIEnumInfo* info);
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_method.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_method.page
new file mode 100644
index 0000000..705632d
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_method.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.enum_info_get_method"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIEnumInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>g_enum_info_get_method</title>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_enum_info_get_method (GIEnumInfo* info,
+                                        gint n);
+</code></synopsis>
+<p>Obtain an enum type method at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_n_methods.page
new file mode 100644
index 0000000..9fe2278
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_n_methods.page
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.enum_info_get_n_methods"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIEnumInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>g_enum_info_get_n_methods</title>
+<synopsis><code mime="text/x-csrc">
+gint g_enum_info_get_n_methods (GIEnumInfo* info);
+</code></synopsis>
+<p>Obtain the number of methods that this enum type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_n_values.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_n_values.page
index 4ff1662..e006a62 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_n_values.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_n_values.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.enum_info_get_n_values"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_n_values</api:name>
+      <api:arg>
+        <api:type>GIEnumInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_enum_info_get_n_values</title>
+<synopsis><code mime="text/x-csrc">
+gint g_enum_info_get_n_values (GIEnumInfo* info);
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_storage_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_storage_type.page
index 5ee1eeb..834b2d7 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_storage_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_storage_type.page
@@ -1,15 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.enum_info_get_storage_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypeTag</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_storage_type</api:name>
+      <api:arg>
+        <api:type>GIEnumInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_enum_info_get_storage_type</title>
+<synopsis><code mime="text/x-csrc">
+GITypeTag g_enum_info_get_storage_type (GIEnumInfo* info);
+</code></synopsis>
 <p>Obtain the tag of the type used for the enum in the C ABI. This will
 will be a signed or unsigned integral type.
 Note that in the current implementation the width of the type is
 computed correctly, but the signed or unsigned nature of the type
-may not match the sign of the type used by the C compiler.</p></page>
+may not match the sign of the type used by the C compiler.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_value.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_value.page
index 86075c7..67f7fcc 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_value.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.enum_info_get_value.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.enum_info_get_value"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIValueInfo*</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_value</api:name>
+      <api:arg>
+        <api:type>GIEnumInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_enum_info_get_value</title>
-<p>Obtain a value for this enumeration.</p><p>free the struct with g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIValueInfo* g_enum_info_get_value (GIEnumInfo* info,
+                                    gint n);
+</code></synopsis>
+<p>Obtain a value for this enumeration.</p><p>free the struct with g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_field.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_field.page
index 2435dbd..c76979e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_field.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_field.page
@@ -1,14 +1,40 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_field</api:name>
+      <api:arg>
+        <api:type>GIFieldInfo*</api:type>
+        <api:name>field_info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gpointer</api:type>
+        <api:name>mem</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_field_info_get_field</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_field_info_get_field (GIFieldInfo* field_info,
+                                 gpointer mem,
+                                 GIArgument* value);
+</code></synopsis>
 <p>Reads a field identified by a <link xref="GFieldInfo">GFieldInfo</link> from a C structure or
 union.  This only handles fields of simple C types. It will fail
 for a field of a composite type like a nested structure or union
-even if that is actually readable.</p></page>
+even if that is actually readable.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_flags.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_flags.page
index cac65ed..6d3107d 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_flags.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFieldInfoFlags</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GIFieldInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_field_info_get_flags</title>
+<synopsis><code mime="text/x-csrc">
+GIFieldInfoFlags g_field_info_get_flags (GIFieldInfo* info);
+</code></synopsis>
 <p>Obtain the flags for this <link xref="GIFieldInfo">GIFieldInfo</link>. See <link xref="GIFieldInfoFlags">GIFieldInfoFlags</link> for possible
-flag values.</p></page>
+flag values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_offset.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_offset.page
index 406c67f..5893b5b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_offset.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_offset.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_offset"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_offset</api:name>
+      <api:arg>
+        <api:type>GIFieldInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_field_info_get_offset</title>
+<synopsis><code mime="text/x-csrc">
+gint g_field_info_get_offset (GIFieldInfo* info);
+</code></synopsis>
 <p>Obtain the offset in bits of the field member, this is relative
-to the beginning of the struct or union.</p></page>
+to the beginning of the struct or union.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_size.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_size.page
index 6c4534b..a375c99 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_size.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_size.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_size"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_size</api:name>
+      <api:arg>
+        <api:type>GIFieldInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_field_info_get_size</title>
+<synopsis><code mime="text/x-csrc">
+gint g_field_info_get_size (GIFieldInfo* info);
+</code></synopsis>
 <p>Obtain the size in bits of the field member, this is how
-much space you need to allocate to store the field.</p></page>
+much space you need to allocate to store the field.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_type.page
index 9f0de8a..dfaa893 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_get_type.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypeInfo*</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIFieldInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_field_info_get_type</title>
-<p>Obtain the type of a field as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GITypeInfo* g_field_info_get_type (GIFieldInfo* info);
+</code></synopsis>
+<p>Obtain the type of a field as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_set_field.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_set_field.page
index 81eac7e..c7772bd 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_set_field.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.field_info_set_field.page
@@ -1,16 +1,42 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_set_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_field_info_set_field</api:name>
+      <api:arg>
+        <api:type>GIFieldInfo*</api:type>
+        <api:name>field_info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gpointer</api:type>
+        <api:name>mem</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_field_info_set_field</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_field_info_set_field (GIFieldInfo* field_info,
+                                 gpointer mem,
+                                 GIArgument* value);
+</code></synopsis>
 <p>Writes a field identified by a <link xref="GFieldInfo">GFieldInfo</link> to a C structure or
 union.  This only handles fields of simple C types. It will fail
 for a field of a composite type like a nested structure or union
 even if that is actually writable. Note also that that it will refuse
 to write fields where memory management would by required. A field
-with a type such as 'char *' must be set with a setter function.</p></page>
+with a type such as 'char *' must be set with a setter function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_flags.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_flags.page
index 1f5a988..db6fede 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_flags.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfoFlags</api:type>
+      </api:returns>
+      <api:name>g_function_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GIFunctionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_function_info_get_flags</title>
-<p>Obtain the <link xref="GIFunctionInfoFlags">GIFunctionInfoFlags</link> for the @info.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfoFlags g_function_info_get_flags (GIFunctionInfo* info);
+</code></synopsis>
+<p>Obtain the <link xref="GIFunctionInfoFlags">GIFunctionInfoFlags</link> for the @info.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_property.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_property.page
index f1c9b2a..1183f13 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_property.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_property.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_get_property"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIPropertyInfo*</api:type>
+      </api:returns>
+      <api:name>g_function_info_get_property</api:name>
+      <api:arg>
+        <api:type>GIFunctionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_function_info_get_property</title>
+<synopsis><code mime="text/x-csrc">
+GIPropertyInfo* g_function_info_get_property (GIFunctionInfo* info);
+</code></synopsis>
 <p>Obtain the property associated with this <link xref="GIFunctionInfo">GIFunctionInfo</link>.
 Only <link xref="GIFunctionInfo">GIFunctionInfo</link> with the flag %GI_FUNCTION_IS_GETTER or
 %GI_FUNCTION_IS_SETTER have a property set. For other cases,
-%NULL will be returned.</p><p>g_base_info_unref() when done.</p></page>
+%NULL will be returned.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_symbol.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_symbol.page
index b34d0d8..770feb1 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_symbol.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_symbol.page
@@ -1,13 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_get_symbol"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_function_info_get_symbol</api:name>
+      <api:arg>
+        <api:type>GIFunctionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_function_info_get_symbol</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_function_info_get_symbol (GIFunctionInfo* info);
+</code></synopsis>
 <p>Obtain the symbol of the function. The symbol is the name of the
 exported function, suitable to be used as an argument to
-g_module_symbol().</p></page>
+g_module_symbol().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_vfunc.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_vfunc.page
index 6187a76..5d1638f 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_get_vfunc.page
@@ -1,13 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_get_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIVFuncInfo*</api:type>
+      </api:returns>
+      <api:name>g_function_info_get_vfunc</api:name>
+      <api:arg>
+        <api:type>GIFunctionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_function_info_get_vfunc</title>
+<synopsis><code mime="text/x-csrc">
+GIVFuncInfo* g_function_info_get_vfunc (GIFunctionInfo* info);
+</code></synopsis>
 <p>Obtain the virtual function associated with this <link xref="GIFunctionInfo">GIFunctionInfo</link>.
 Only <link xref="GIFunctionInfo">GIFunctionInfo</link> with the flag %GI_FUNCTION_WRAPS_VFUNC has
-a virtual function set. For other cases, %NULL will be returned.</p><p>Free it by calling g_base_info_unref() when done.</p></page>
+a virtual function set. For other cases, %NULL will be returned.</p><p>Free it by calling g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_invoke.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_invoke.page
index c2b73a4..25fb7b0 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_invoke.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.function_info_invoke.page
@@ -1,16 +1,57 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_invoke"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_function_info_invoke</api:name>
+      <api:arg>
+        <api:type>GIFunctionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>in_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>int</api:type>
+        <api:name>n_in_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>out_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>int</api:type>
+        <api:name>n_out_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>return_value</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_function_info_invoke</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_function_info_invoke (GIFunctionInfo* info,
+                                 GIArgument* in_args,
+                                 int n_in_args,
+                                 GIArgument* out_args,
+                                 int n_out_args,
+                                 GIArgument* return_value);
+</code></synopsis>
 <p>Invokes the function described in @info with the given
 arguments. Note that inout parameters must appear in both
 argument lists. This function uses dlsym() to obtain a pointer
 to the function, so the library or shared object containing the
 described function must either be linked to the caller, or must
-have been g_module_symbol()&lt;!-- --&gt;ed before calling this function.</p><p>error occurred.</p></page>
+have been g_module_symbol()&lt;!-- --&gt;ed before calling this function.</p><p>error occurred.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.info_new.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.info_new.page
index 75cbf8d..cdc5b90 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.info_new.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.info_new.page
@@ -1,11 +1,42 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.info_new"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIBaseInfo*</api:type>
+      </api:returns>
+      <api:name>g_info_new</api:name>
+      <api:arg>
+        <api:type>GIInfoType</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIBaseInfo*</api:type>
+        <api:name>container</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GITypelib*</api:type>
+        <api:name>typelib</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>guint32</api:type>
+        <api:name>offset</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_info_new</title>
+<synopsis><code mime="text/x-csrc">
+GIBaseInfo* g_info_new (GIInfoType type,
+                        GIBaseInfo* container,
+                        GITypelib* typelib,
+                        guint32 offset);
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.info_type_to_string.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.info_type_to_string.page
index 8102182..2005249 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.info_type_to_string.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.info_type_to_string.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.info_type_to_string"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_info_type_to_string</api:name>
+      <api:arg>
+        <api:type>GIInfoType</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_info_type_to_string</title>
-<p>Obtain a string representation of @type</p></page>
+<synopsis><code mime="text/x-csrc">
+gchar* g_info_type_to_string (GIInfoType type);
+</code></synopsis>
+<p>Obtain a string representation of @type</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_find_method.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_find_method.page
index b4f7a26..0126104 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_find_method.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_find_method.page
@@ -1,12 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_find_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_interface_info_find_method</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_find_method</title>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_interface_info_find_method (GIInterfaceInfo* info,
+                                              gchar* name);
+</code></synopsis>
 <p>Obtain a method of the interface type given a @name. %NULL will be
-returned if there's no method available with that name.</p><p>Free the struct by calling g_base_info_unref() when done.</p></page>
+returned if there's no method available with that name.</p><p>Free the struct by calling g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_find_vfunc.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_find_vfunc.page
index 6b5878f..a03701b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_find_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_find_vfunc.page
@@ -1,12 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_find_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIVFuncInfo*</api:type>
+      </api:returns>
+      <api:name>g_interface_info_find_vfunc</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_find_vfunc</title>
+<synopsis><code mime="text/x-csrc">
+GIVFuncInfo* g_interface_info_find_vfunc (GIInterfaceInfo* info,
+                                          gchar* name);
+</code></synopsis>
 <p>Locate a virtual function slot with name @name. See the documentation
-for g_object_info_find_vfunc() for more information on virtuals.</p><p>g_base_info_unref() when done.</p></page>
+for g_object_info_find_vfunc() for more information on virtuals.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_constant.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_constant.page
index 8f3e1e8..1cceb86 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_constant.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_constant.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_constant"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIConstantInfo*</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_constant</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_constant</title>
-<p>Obtain an interface type constant at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIConstantInfo* g_interface_info_get_constant (GIInterfaceInfo* info,
+                                               gint n);
+</code></synopsis>
+<p>Obtain an interface type constant at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_iface_struct.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_iface_struct.page
index d8ac1a7..1922a14 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_iface_struct.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_iface_struct.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_iface_struct"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIStructInfo*</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_iface_struct</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_iface_struct</title>
-<p>Returns the layout C structure associated with this <link xref="GInterface">GInterface</link>.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIStructInfo* g_interface_info_get_iface_struct (GIInterfaceInfo* info);
+</code></synopsis>
+<p>Returns the layout C structure associated with this <link xref="GInterface">GInterface</link>.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_method.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_method.page
index 3de6eee..169365a 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_method.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_method.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_method</title>
-<p>Obtain an interface type method at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_interface_info_get_method (GIInterfaceInfo* info,
+                                             gint n);
+</code></synopsis>
+<p>Obtain an interface type method at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_constants.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_constants.page
index 03c41fb..f0ad3aa 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_constants.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_constants.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_constants"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_constants</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_n_constants</title>
-<p>Obtain the number of constants that this interface type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_interface_info_get_n_constants (GIInterfaceInfo* info);
+</code></synopsis>
+<p>Obtain the number of constants that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_methods.page
index 138954b..da6ce42 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_methods.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_methods.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_methods"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_n_methods</title>
-<p>Obtain the number of methods that this interface type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_interface_info_get_n_methods (GIInterfaceInfo* info);
+</code></synopsis>
+<p>Obtain the number of methods that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_prerequisites.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_prerequisites.page
index 8b6456b..9079d7f 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_prerequisites.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_prerequisites.page
@@ -1,13 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_prerequisites"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_prerequisites</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_n_prerequisites</title>
+<synopsis><code mime="text/x-csrc">
+gint g_interface_info_get_n_prerequisites (GIInterfaceInfo* info);
+</code></synopsis>
 <p>Obtain the number of prerequisites for this interface type.
 A prerequisites is another interface that needs to be implemented for
-interface, similar to an base class for GObjects.</p></page>
+interface, similar to an base class for GObjects.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_properties.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_properties.page
index 9856351..25b46bc 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_properties.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_properties.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_properties"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_properties</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_n_properties</title>
-<p>Obtain the number of properties that this interface type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_interface_info_get_n_properties (GIInterfaceInfo* info);
+</code></synopsis>
+<p>Obtain the number of properties that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_signals.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_signals.page
index e9070e9..eaf63f4 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_signals.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_signals.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_signals"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_signals</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_n_signals</title>
-<p>Obtain the number of signals that this interface type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_interface_info_get_n_signals (GIInterfaceInfo* info);
+</code></synopsis>
+<p>Obtain the number of signals that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_vfuncs.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_vfuncs.page
index aa04819..bb49209 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_vfuncs.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_n_vfuncs.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_vfuncs"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_vfuncs</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_n_vfuncs</title>
-<p>Obtain the number of virtual functions that this interface type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_interface_info_get_n_vfuncs (GIInterfaceInfo* info);
+</code></synopsis>
+<p>Obtain the number of virtual functions that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_prerequisite.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_prerequisite.page
index 095f4ba..6a5642b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_prerequisite.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_prerequisite.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_prerequisite"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIBaseInfo*</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_prerequisite</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_prerequisite</title>
-<p>Obtain an interface type prerequisites index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIBaseInfo* g_interface_info_get_prerequisite (GIInterfaceInfo* info,
+                                               gint n);
+</code></synopsis>
+<p>Obtain an interface type prerequisites index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_property.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_property.page
index 44609b3..14a9e58 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_property.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_property.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_property"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIPropertyInfo*</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_property</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_property</title>
-<p>Obtain an interface type property at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIPropertyInfo* g_interface_info_get_property (GIInterfaceInfo* info,
+                                               gint n);
+</code></synopsis>
+<p>Obtain an interface type property at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_signal.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_signal.page
index 046a6c4..ea2294a 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_signal.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_signal.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_signal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GISignalInfo*</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_signal</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_signal</title>
-<p>Obtain an interface type signal at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GISignalInfo* g_interface_info_get_signal (GIInterfaceInfo* info,
+                                           gint n);
+</code></synopsis>
+<p>Obtain an interface type signal at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_vfunc.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_vfunc.page
index 7bf2886..241917b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.interface_info_get_vfunc.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIVFuncInfo*</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_vfunc</api:name>
+      <api:arg>
+        <api:type>GIInterfaceInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_interface_info_get_vfunc</title>
-<p>Obtain an interface type virtual function at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIVFuncInfo* g_interface_info_get_vfunc (GIInterfaceInfo* info,
+                                         gint n);
+</code></synopsis>
+<p>Obtain an interface type virtual function at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.invoke_error_quark.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.invoke_error_quark.page
index 5b8f56e..197e1e7 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.invoke_error_quark.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.invoke_error_quark.page
@@ -1,11 +1,23 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.invoke_error_quark"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GQuark</api:type>
+      </api:returns>
+      <api:name>g_invoke_error_quark</api:name>
+    </api:function>
   </info>
   <title>g_invoke_error_quark</title>
+<synopsis><code mime="text/x-csrc">
+GQuark g_invoke_error_quark (void);
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.nvokeError.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.nvokeError.page
index b942d98..3b3fec4 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.nvokeError.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.nvokeError.page
@@ -6,6 +6,7 @@
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
   </info>
-  <title>GIRepositorynvokeError</title>
+  <title>GIRepository.nvokeError</title>
 <p>An error occuring while invoking a function via
-g_function_info_invoke().</p></page>
+g_function_info_invoke().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_method.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_method.page
index 5e99574..299dc91 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_method.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_method.page
@@ -1,12 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_find_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_find_method</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_find_method</title>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_object_info_find_method (GIObjectInfo* info,
+                                           gchar* name);
+</code></synopsis>
 <p>Obtain a method of the object type given a @name. %NULL will be
-returned if there's no method available with that name.</p><p>g_base_info_unref() when done.</p></page>
+returned if there's no method available with that name.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_method_using_interfaces.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_method_using_interfaces.page
index a30510e..d56d6cd 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_method_using_interfaces.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_method_using_interfaces.page
@@ -1,14 +1,40 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_find_method_using_interfaces"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_find_method_using_interfaces</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIObjectInfo**</api:type>
+        <api:name>implementor</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_find_method_using_interfaces</title>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_object_info_find_method_using_interfaces (GIObjectInfo* info,
+                                                            gchar* name,
+                                                            GIObjectInfo** implementor);
+</code></synopsis>
 <p>Obtain a method of the object given a @name, searching both the
 object @info and any interfaces it implements.  %NULL will be
 returned if there's no method available with that name.</p><p>Note that this function does *not* search parent classes; you will have
-to chain up if that's desired.</p><p>g_base_info_unref() when done.</p></page>
+to chain up if that's desired.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_signal.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_signal.page
index 3b7662c..c4ea7be 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_signal.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_signal.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_find_signal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GISignalInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_find_signal</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_find_signal</title>
+<synopsis><code mime="text/x-csrc">
+GISignalInfo* g_object_info_find_signal (GIObjectInfo* info,
+                                         gchar* name);
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_vfunc.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_vfunc.page
index d3f7990..0a00a5e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_find_vfunc.page
@@ -1,17 +1,38 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_find_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIVFuncInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_find_vfunc</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_find_vfunc</title>
+<synopsis><code mime="text/x-csrc">
+GIVFuncInfo* g_object_info_find_vfunc (GIObjectInfo* info,
+                                       gchar* name);
+</code></synopsis>
 <p>Locate a virtual function slot with name @name. Note that the namespace
 for virtuals is distinct from that of methods; there may or may not be
 a concrete method associated for a virtual. If there is one, it may
 be retrieved using g_vfunc_info_get_invoker(), otherwise %NULL will be
 returned.
 See the documentation for g_vfunc_info_get_invoker() for more
-information on invoking virtuals.</p><p>g_base_info_unref() when done.</p></page>
+information on invoking virtuals.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_abstract.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_abstract.page
index 068650f..6f776fd 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_abstract.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_abstract.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_abstract"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_abstract</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_abstract</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_object_info_get_abstract (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain if the object type is an abstract type, eg if it cannot be
-instantiated</p></page>
+instantiated</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_class_struct.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_class_struct.page
index 8da2729..9ba866d 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_class_struct.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_class_struct.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_class_struct"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIStructInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_class_struct</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_class_struct</title>
+<synopsis><code mime="text/x-csrc">
+GIStructInfo* g_object_info_get_class_struct (GIObjectInfo* info);
+</code></synopsis>
 <p>Every <link xref="GObject">GObject</link> has two structures; an instance structure and a class
-structure.  This function returns the metadata for the class structure.</p><p>g_base_info_unref() when done.</p></page>
+structure.  This function returns the metadata for the class structure.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_constant.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_constant.page
index bcf08e8..ceea533 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_constant.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_constant.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_constant"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIConstantInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_constant</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_constant</title>
-<p>Obtain an object type constant at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIConstantInfo* g_object_info_get_constant (GIObjectInfo* info,
+                                            gint n);
+</code></synopsis>
+<p>Obtain an object type constant at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_field.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_field.page
index 22cc701..5769603 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_field.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_field.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFieldInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_field</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_field</title>
-<p>Obtain an object type field at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFieldInfo* g_object_info_get_field (GIObjectInfo* info,
+                                      gint n);
+</code></synopsis>
+<p>Obtain an object type field at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_fundamental.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_fundamental.page
index b8cd042..3bf9586 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_fundamental.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_fundamental.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_fundamental"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_fundamental</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_fundamental</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_object_info_get_fundamental (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain if the object type is of a fundamental type which is not
-G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.</p></page>
+G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_get_value_function.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_get_value_function.page
index 9d81004..f8c611e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_get_value_function.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_get_value_function.page
@@ -1,15 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_get_value_function"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>char*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_get_value_function</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_get_value_function</title>
+<synopsis><code mime="text/x-csrc">
+char* g_object_info_get_get_value_function (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain the symbol name of the function that should be called to convert
 an object instance pointer of this object type to a GValue.
 I's mainly used fundamental types. The type signature for the symbol
 is %GIObjectInfoGetValueFunction, to fetch the function pointer
-see g_object_info_get_get_value_function().</p></page>
+see g_object_info_get_get_value_function().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_get_value_function_pointer.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_get_value_function_pointer.page
index 2226ead..05a2a10 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_get_value_function_pointer.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_get_value_function_pointer.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_get_value_function_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIObjectInfoGetValueFunction</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_get_value_function_pointer</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_get_value_function_pointer</title>
+<synopsis><code mime="text/x-csrc">
+GIObjectInfoGetValueFunction g_object_info_get_get_value_function_pointer (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain a pointer to a function which can be used to
 extract an instance of this object type out of a GValue.
 This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.</p></page>
+the base classes of this type, starting at the top type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_interface.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_interface.page
index 63c791f..a3c6b10 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_interface.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_interface.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_interface"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIInterfaceInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_interface</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_interface</title>
-<p>Obtain an object type interface at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIInterfaceInfo* g_object_info_get_interface (GIObjectInfo* info,
+                                              gint n);
+</code></synopsis>
+<p>Obtain an object type interface at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_method.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_method.page
index a657b4e..54de9d9 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_method.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_method.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_method</title>
-<p>Obtain an object type method at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_object_info_get_method (GIObjectInfo* info,
+                                          gint n);
+</code></synopsis>
+<p>Obtain an object type method at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_constants.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_constants.page
index 3537047..5ab39eb 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_constants.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_constants.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_constants"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_constants</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_n_constants</title>
-<p>Obtain the number of constants that this object type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_object_info_get_n_constants (GIObjectInfo* info);
+</code></synopsis>
+<p>Obtain the number of constants that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_fields.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_fields.page
index 20bf1c2..afa06b8 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_fields.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_fields.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_fields"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_fields</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_n_fields</title>
-<p>Obtain the number of fields that this object type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_object_info_get_n_fields (GIObjectInfo* info);
+</code></synopsis>
+<p>Obtain the number of fields that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_interfaces.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_interfaces.page
index 4514524..2ba22ef 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_interfaces.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_interfaces.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_interfaces"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_interfaces</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_n_interfaces</title>
-<p>Obtain the number of interfaces that this object type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_object_info_get_n_interfaces (GIObjectInfo* info);
+</code></synopsis>
+<p>Obtain the number of interfaces that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_methods.page
index a6b4f80..edb4f87 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_methods.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_methods.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_methods"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_n_methods</title>
-<p>Obtain the number of methods that this object type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_object_info_get_n_methods (GIObjectInfo* info);
+</code></synopsis>
+<p>Obtain the number of methods that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_properties.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_properties.page
index 3b1a3f1..98e167e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_properties.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_properties.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_properties"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_properties</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_n_properties</title>
-<p>Obtain the number of properties that this object type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_object_info_get_n_properties (GIObjectInfo* info);
+</code></synopsis>
+<p>Obtain the number of properties that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_signals.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_signals.page
index 95e3d50..be77963 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_signals.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_signals.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_signals"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_signals</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_n_signals</title>
-<p>Obtain the number of signals that this object type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_object_info_get_n_signals (GIObjectInfo* info);
+</code></synopsis>
+<p>Obtain the number of signals that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_vfuncs.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_vfuncs.page
index 5a01687..0abd4fc 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_vfuncs.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_n_vfuncs.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_vfuncs"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_vfuncs</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_n_vfuncs</title>
-<p>Obtain the number of virtual functions that this object type has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_object_info_get_n_vfuncs (GIObjectInfo* info);
+</code></synopsis>
+<p>Obtain the number of virtual functions that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_parent.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_parent.page
index ea52bca..6d65af7 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_parent.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_parent.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_parent"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIObjectInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_parent</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_parent</title>
-<p>Obtain the parent of the object type.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIObjectInfo* g_object_info_get_parent (GIObjectInfo* info);
+</code></synopsis>
+<p>Obtain the parent of the object type.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_property.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_property.page
index b827f85..abd60ab 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_property.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_property.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_property"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIPropertyInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_property</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_property</title>
-<p>Obtain an object type property at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIPropertyInfo* g_object_info_get_property (GIObjectInfo* info,
+                                            gint n);
+</code></synopsis>
+<p>Obtain an object type property at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_ref_function.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_ref_function.page
index 25d8406..444a06e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_ref_function.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_ref_function.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_ref_function"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>char*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_ref_function</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_ref_function</title>
+<synopsis><code mime="text/x-csrc">
+char* g_object_info_get_ref_function (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain the symbol name of the function that should be called to ref this
 object type. It's mainly used fundamental types. The type signature for
 the symbol is %GIObjectInfoRefFunction, to fetch the function pointer
-see g_object_info_get_ref_function().</p></page>
+see g_object_info_get_ref_function().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_ref_function_pointer.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_ref_function_pointer.page
index 56a3c3d..6215130 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_ref_function_pointer.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_ref_function_pointer.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_ref_function_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIObjectInfoRefFunction</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_ref_function_pointer</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_ref_function_pointer</title>
+<synopsis><code mime="text/x-csrc">
+GIObjectInfoRefFunction g_object_info_get_ref_function_pointer (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain a pointer to a function which can be used to
 increase the reference count an instance of this object type.
 This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.</p></page>
+the base classes of this type, starting at the top type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_set_value_function.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_set_value_function.page
index 5cdb04c..c9fdbca 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_set_value_function.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_set_value_function.page
@@ -1,15 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_set_value_function"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>char*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_set_value_function</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_set_value_function</title>
+<synopsis><code mime="text/x-csrc">
+char* g_object_info_get_set_value_function (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain the symbol name of the function that should be called to convert
 set a GValue giving an object instance pointer of this object type.
 I's mainly used fundamental types. The type signature for the symbol
 is %GIObjectInfoSetValueFunction, to fetch the function pointer
-see g_object_info_get_set_value_function().</p></page>
+see g_object_info_get_set_value_function().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_set_value_function_pointer.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_set_value_function_pointer.page
index 0177dbc..706cd85 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_set_value_function_pointer.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_set_value_function_pointer.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_set_value_function_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIObjectInfoSetValueFunction</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_set_value_function_pointer</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_set_value_function_pointer</title>
+<synopsis><code mime="text/x-csrc">
+GIObjectInfoSetValueFunction g_object_info_get_set_value_function_pointer (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain a pointer to a function which can be used to
 set a GValue given an instance of this object type.
 This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.</p></page>
+the base classes of this type, starting at the top type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_signal.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_signal.page
index b33d72c..5967a0c 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_signal.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_signal.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_signal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GISignalInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_signal</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_signal</title>
-<p>Obtain an object type signal at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GISignalInfo* g_object_info_get_signal (GIObjectInfo* info,
+                                        gint n);
+</code></synopsis>
+<p>Obtain an object type signal at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_type_init.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_type_init.page
index 76aa19d..5f0419b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_type_init.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_type_init.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_type_init"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_type_init</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_type_init</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_object_info_get_type_init (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain the function which when called will return the GType
-function for which this object type is registered.</p></page>
+function for which this object type is registered.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_type_name.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_type_name.page
index 89a2a88..93d1dfa 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_type_name.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_type_name.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_type_name"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_type_name</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_type_name</title>
-<p>Obtain the name of the objects class/type.</p></page>
+<synopsis><code mime="text/x-csrc">
+gchar* g_object_info_get_type_name (GIObjectInfo* info);
+</code></synopsis>
+<p>Obtain the name of the objects class/type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_unref_function.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_unref_function.page
index 4597c89..44bc1b2 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_unref_function.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_unref_function.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_unref_function"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>char*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_unref_function</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_unref_function</title>
+<synopsis><code mime="text/x-csrc">
+char* g_object_info_get_unref_function (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain the symbol name of the function that should be called to unref this
 object type. It's mainly used fundamental types. The type signature for
 the symbol is %GIObjectInfoUnrefFunction, to fetch the function pointer
-see g_object_info_get_unref_function().</p></page>
+see g_object_info_get_unref_function().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_unref_function_pointer.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_unref_function_pointer.page
index a152b76..177a703 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_unref_function_pointer.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_unref_function_pointer.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_unref_function_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIObjectInfoUnrefFunction</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_unref_function_pointer</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_unref_function_pointer</title>
+<synopsis><code mime="text/x-csrc">
+GIObjectInfoUnrefFunction g_object_info_get_unref_function_pointer (GIObjectInfo* info);
+</code></synopsis>
 <p>Obtain a pointer to a function which can be used to
 decrease the reference count an instance of this object type.
 This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.</p></page>
+the base classes of this type, starting at the top type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_vfunc.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_vfunc.page
index fe27e3e..e1e2661 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.object_info_get_vfunc.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIVFuncInfo*</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_vfunc</api:name>
+      <api:arg>
+        <api:type>GIObjectInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_object_info_get_vfunc</title>
-<p>Obtain an object type virtual function at index @n.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIVFuncInfo* g_object_info_get_vfunc (GIObjectInfo* info,
+                                      gint n);
+</code></synopsis>
+<p>Obtain an object type virtual function at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_flags.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_flags.page
index eecc693..4317fd4 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_flags.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.property_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GParamFlags</api:type>
+      </api:returns>
+      <api:name>g_property_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GIPropertyInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_property_info_get_flags</title>
+<synopsis><code mime="text/x-csrc">
+GParamFlags g_property_info_get_flags (GIPropertyInfo* info);
+</code></synopsis>
 <p>Obtain the flags for this property info. See <link xref="GParamFags">GParamFags</link> for
-more information about possible flag values.</p></page>
+more information about possible flag values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_ownership_transfer.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_ownership_transfer.page
index fc24387..e4ba18a 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_ownership_transfer.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_ownership_transfer.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.property_info_get_ownership_transfer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITransfer</api:type>
+      </api:returns>
+      <api:name>g_property_info_get_ownership_transfer</api:name>
+      <api:arg>
+        <api:type>GIPropertyInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_property_info_get_ownership_transfer</title>
+<synopsis><code mime="text/x-csrc">
+GITransfer g_property_info_get_ownership_transfer (GIPropertyInfo* info);
+</code></synopsis>
 <p>Obtain the ownership transfer for this property. See <link xref="GITransfer">GITransfer</link> for more
-information about transfer values.</p></page>
+information about transfer values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_type.page
index 4f49dbe..6b72567 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.property_info_get_type.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.property_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypeInfo*</api:type>
+      </api:returns>
+      <api:name>g_property_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIPropertyInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_property_info_get_type</title>
-<p>Obtain the type information for the property @info.</p><p>g_base_info_unref() when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GITypeInfo* g_property_info_get_type (GIPropertyInfo* info);
+</code></synopsis>
+<p>Obtain the type information for the property @info.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_g_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_g_type.page
index 30098eb..7d1a6ce 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_g_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_g_type.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.registered_type_info_get_g_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GType</api:type>
+      </api:returns>
+      <api:name>g_registered_type_info_get_g_type</api:name>
+      <api:arg>
+        <api:type>GIRegisteredTypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_registered_type_info_get_g_type</title>
+<synopsis><code mime="text/x-csrc">
+GType g_registered_type_info_get_g_type (GIRegisteredTypeInfo* info);
+</code></synopsis>
 <p>Obtain the <link xref="GType">GType</link> for this registered type or G_TYPE_NONE which a special meaning.
 It means that either there is no type information associated with this @info or
 that the shared library which provides the type_init function for this
- info cannot be called.</p></page>
+ info cannot be called.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_type_init.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_type_init.page
index fe71e6b..192ce02 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_type_init.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_type_init.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.registered_type_info_get_type_init"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_registered_type_info_get_type_init</api:name>
+      <api:arg>
+        <api:type>GIRegisteredTypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_registered_type_info_get_type_init</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_registered_type_info_get_type_init (GIRegisteredTypeInfo* info);
+</code></synopsis>
 <p>Obtain the type init function for @info. The type init function is the
 function which will register the GType within the GObject type system.
 Usually this is not called by langauge bindings or applications, use
-g_registered_type_info_get_g_type() directly instead.</p><p>passing into g_module_symbol().</p></page>
+g_registered_type_info_get_g_type() directly instead.</p><p>passing into g_module_symbol().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_type_name.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_type_name.page
index a651f7c..d4a3055 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_type_name.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.registered_type_info_get_type_name.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.registered_type_info_get_type_name"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_registered_type_info_get_type_name</api:name>
+      <api:arg>
+        <api:type>GIRegisteredTypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_registered_type_info_get_type_name</title>
+<synopsis><code mime="text/x-csrc">
+gchar* g_registered_type_info_get_type_name (GIRegisteredTypeInfo* info);
+</code></synopsis>
 <p>Obtain the type name of the struct within the GObject type system.
-This type can be passed to g_type_name() to get a <link xref="GType">GType</link>.</p></page>
+This type can be passed to g_type_name() to get a <link xref="GType">GType</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_get_class_closure.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_get_class_closure.page
index 05a465a..3ccade4 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_get_class_closure.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_get_class_closure.page
@@ -1,13 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.signal_info_get_class_closure"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIVFuncInfo*</api:type>
+      </api:returns>
+      <api:name>g_signal_info_get_class_closure</api:name>
+      <api:arg>
+        <api:type>GISignalInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_signal_info_get_class_closure</title>
+<synopsis><code mime="text/x-csrc">
+GIVFuncInfo* g_signal_info_get_class_closure (GISignalInfo* info);
+</code></synopsis>
 <p>Obtain the class closure for this signal if one is set. The class
 closure is a virtual function on the type that the signal belongs to.
-If the signal lacks a closure %NULL will be returned.</p></page>
+If the signal lacks a closure %NULL will be returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_get_flags.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_get_flags.page
index 763e4bf..afc2d94 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_get_flags.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.signal_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GSignalFlags</api:type>
+      </api:returns>
+      <api:name>g_signal_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GISignalInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_signal_info_get_flags</title>
+<synopsis><code mime="text/x-csrc">
+GSignalFlags g_signal_info_get_flags (GISignalInfo* info);
+</code></synopsis>
 <p>Obtain the flags for this signal info. See <link xref="GSignalFlags">GSignalFlags</link> for
-more information about possible flag values.</p></page>
+more information about possible flag values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_true_stops_emit.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_true_stops_emit.page
index 02cc1b8..6289270 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_true_stops_emit.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.signal_info_true_stops_emit.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.signal_info_true_stops_emit"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_signal_info_true_stops_emit</api:name>
+      <api:arg>
+        <api:type>GISignalInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_signal_info_true_stops_emit</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_signal_info_true_stops_emit (GISignalInfo* info);
+</code></synopsis>
 <p>Obtain if the returning true in the signal handler will
-stop the emission of the signal.</p></page>
+stop the emission of the signal.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_find_method.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_find_method.page
index 9c446c5..63c348b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_find_method.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_find_method.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_find_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_struct_info_find_method</api:name>
+      <api:arg>
+        <api:type>GIStructInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_struct_info_find_method</title>
-<p>Obtain the type information for method named @name.</p><p>when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_struct_info_find_method (GIStructInfo* info,
+                                           gchar* name);
+</code></synopsis>
+<p>Obtain the type information for method named @name.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_alignment.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_alignment.page
index 7cb4a80..8e32490 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_alignment.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_alignment.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_alignment"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gsize</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_alignment</api:name>
+      <api:arg>
+        <api:type>GIStructInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_struct_info_get_alignment</title>
-<p>Obtain the required alignment of the structure.</p></page>
+<synopsis><code mime="text/x-csrc">
+gsize g_struct_info_get_alignment (GIStructInfo* info);
+</code></synopsis>
+<p>Obtain the required alignment of the structure.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_field.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_field.page
index 5da3e83..76eb343 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_field.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_field.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFieldInfo*</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_field</api:name>
+      <api:arg>
+        <api:type>GIStructInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_struct_info_get_field</title>
-<p>Obtain the type information for field with specified index.</p><p>when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFieldInfo* g_struct_info_get_field (GIStructInfo* info,
+                                      gint n);
+</code></synopsis>
+<p>Obtain the type information for field with specified index.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_method.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_method.page
index 6bbdb1a..32f7947 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_method.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_method.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIStructInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_struct_info_get_method</title>
-<p>Obtain the type information for method with specified index.</p><p>when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_struct_info_get_method (GIStructInfo* info,
+                                          gint n);
+</code></synopsis>
+<p>Obtain the type information for method with specified index.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_n_fields.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_n_fields.page
index 210f747..7ef2369 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_n_fields.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_n_fields.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_n_fields"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_n_fields</api:name>
+      <api:arg>
+        <api:type>GIStructInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_struct_info_get_n_fields</title>
-<p>Obtain the number of fields this structure has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_struct_info_get_n_fields (GIStructInfo* info);
+</code></synopsis>
+<p>Obtain the number of fields this structure has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_n_methods.page
index 2e1e873..dc2c0df 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_n_methods.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_n_methods.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_n_methods"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIStructInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_struct_info_get_n_methods</title>
-<p>Obtain the number of methods this structure has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_struct_info_get_n_methods (GIStructInfo* info);
+</code></synopsis>
+<p>Obtain the number of methods this structure has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_size.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_size.page
index 738ce9a..b0bf979 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_size.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_get_size.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_size"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gsize</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_size</api:name>
+      <api:arg>
+        <api:type>GIStructInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_struct_info_get_size</title>
-<p>Obtain the total size of the structure.</p></page>
+<synopsis><code mime="text/x-csrc">
+gsize g_struct_info_get_size (GIStructInfo* info);
+</code></synopsis>
+<p>Obtain the total size of the structure.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_is_foreign.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_is_foreign.page
index 2b266ef..03fa559 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_is_foreign.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_is_foreign.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_is_foreign"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_struct_info_is_foreign</api:name>
+      <api:arg>
+        <api:type>GIStructInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_struct_info_is_foreign</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_struct_info_is_foreign (GIStructInfo* info);
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_is_gtype_struct.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_is_gtype_struct.page
index 3555b8e..573156b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_is_gtype_struct.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.struct_info_is_gtype_struct.page
@@ -1,13 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_is_gtype_struct"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_struct_info_is_gtype_struct</api:name>
+      <api:arg>
+        <api:type>GIStructInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_struct_info_is_gtype_struct</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_struct_info_is_gtype_struct (GIStructInfo* info);
+</code></synopsis>
 <p>Return true if this structure represents the "class structure" for some
 <link xref="GObject">GObject</link> or <link xref="GInterface">GInterface</link>.  This function is mainly useful to hide this kind of structure
-from generated public APIs.</p></page>
+from generated public APIs.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_fixed_size.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_fixed_size.page
index 8598d54..90569e9 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_fixed_size.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_fixed_size.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_array_fixed_size"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_array_fixed_size</api:name>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_type_info_get_array_fixed_size</title>
+<synopsis><code mime="text/x-csrc">
+gint g_type_info_get_array_fixed_size (GITypeInfo* info);
+</code></synopsis>
 <p>Obtain the fixed array size of the type. The type tag must be a
-<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or -1 will returned.</p></page>
+<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or -1 will returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_length.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_length.page
index b091016..c0c4b9e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_length.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_length.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_array_length"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_array_length</api:name>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_type_info_get_array_length</title>
+<synopsis><code mime="text/x-csrc">
+gint g_type_info_get_array_length (GITypeInfo* info);
+</code></synopsis>
 <p>Obtain the array length of the type. The type tag must be a
-<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or -1 will returned.</p></page>
+<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or -1 will returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_type.page
index 17f87f2..5c897c6 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_array_type.page
@@ -1,13 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_array_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIArrayType</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_array_type</api:name>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_type_info_get_array_type</title>
+<synopsis><code mime="text/x-csrc">
+GIArrayType g_type_info_get_array_type (GITypeInfo* info);
+</code></synopsis>
 <p>Obtain the array type for this type. See <link xref="GIArrayType">GIArrayType</link> for a list of
 possible values. If the type tag of this type is not array, -1 will be
-returned.</p></page>
+returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_interface.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_interface.page
index b12793b..e19b4e5 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_interface.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_interface.page
@@ -1,14 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_interface"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIBaseInfo*</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_interface</api:name>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_type_info_get_interface</title>
+<synopsis><code mime="text/x-csrc">
+GIBaseInfo* g_type_info_get_interface (GITypeInfo* info);
+</code></synopsis>
 <p>For types which have <link xref="GI_TYPE_TAG_INTERFACE">GI_TYPE_TAG_INTERFACE</link> such as GObjects and boxed values,
 this function returns full information about the referenced type.  You can then
 inspect the type of the returned <link xref="GIBaseInfo">GIBaseInfo</link> to further query whether it is
-a concrete GObject, a GInterface, a structure, etc. using g_base_info_get_type().</p><p>g_base_info_unref() when done.</p></page>
+a concrete GObject, a GInterface, a structure, etc. using g_base_info_get_type().</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_param_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_param_type.page
index e657da5..6bb64ff 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_param_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_param_type.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_param_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypeInfo*</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_param_type</api:name>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_type_info_get_param_type</title>
-<p>Obtain the parameter type @n.</p></page>
+<synopsis><code mime="text/x-csrc">
+GITypeInfo* g_type_info_get_param_type (GITypeInfo* info,
+                                        gint n);
+</code></synopsis>
+<p>Obtain the parameter type @n.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_tag.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_tag.page
index 6d5b400..200f764 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_tag.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_get_tag.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_tag"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypeTag</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_tag</api:name>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_type_info_get_tag</title>
+<synopsis><code mime="text/x-csrc">
+GITypeTag g_type_info_get_tag (GITypeInfo* info);
+</code></synopsis>
 <p>Obtain the type tag for the type. See <link xref="GITypeTag">GITypeTag</link> for a list
-of type tags.</p></page>
+of type tags.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_is_pointer.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_is_pointer.page
index 89b3e45..95dfa3b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_is_pointer.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_is_pointer.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_is_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_type_info_is_pointer</api:name>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_type_info_is_pointer</title>
-<p>Obtain if the type is passed as a reference.</p></page>
+<synopsis><code mime="text/x-csrc">
+gboolean g_type_info_is_pointer (GITypeInfo* info);
+</code></synopsis>
+<p>Obtain if the type is passed as a reference.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_is_zero_terminated.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_is_zero_terminated.page
index c0d8afc..33b54c5 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_is_zero_terminated.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_info_is_zero_terminated.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_is_zero_terminated"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_type_info_is_zero_terminated</api:name>
+      <api:arg>
+        <api:type>GITypeInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_type_info_is_zero_terminated</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_type_info_is_zero_terminated (GITypeInfo* info);
+</code></synopsis>
 <p>Obtain if the last element of the array is %NULL. The type tag must be a
-<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or %FALSE will returned.</p></page>
+<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or %FALSE will returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_tag_to_string.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_tag_to_string.page
index 8287784..be0da3b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_tag_to_string.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.type_tag_to_string.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_tag_to_string"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gchar*</api:type>
+      </api:returns>
+      <api:name>g_type_tag_to_string</api:name>
+      <api:arg>
+        <api:type>GITypeTag</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_type_tag_to_string</title>
-<p>Obtain a string representation of @type</p></page>
+<synopsis><code mime="text/x-csrc">
+gchar* g_type_tag_to_string (GITypeTag type);
+</code></synopsis>
+<p>Obtain a string representation of @type</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_find_method.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_find_method.page
index 991ae89..691ecac 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_find_method.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_find_method.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_find_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_union_info_find_method</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gchar*</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_find_method</title>
-<p>Obtain the type information for method named @name.</p><p>when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_union_info_find_method (GIUnionInfo* info,
+                                          gchar* name);
+</code></synopsis>
+<p>Obtain the type information for method named @name.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_alignment.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_alignment.page
index 25fc4d8..ef46882 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_alignment.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_alignment.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_alignment"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gsize</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_alignment</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_get_alignment</title>
-<p>Obtain the required alignment of the union.</p></page>
+<synopsis><code mime="text/x-csrc">
+gsize g_union_info_get_alignment (GIUnionInfo* info);
+</code></synopsis>
+<p>Obtain the required alignment of the union.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator.page
index 974a1cb..50f7578 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator.page
@@ -1,13 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_discriminator"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIConstantInfo*</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_discriminator</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_get_discriminator</title>
+<synopsis><code mime="text/x-csrc">
+GIConstantInfo* g_union_info_get_discriminator (GIUnionInfo* info,
+                                                gint n);
+</code></synopsis>
 <p>Obtain discriminator value assigned for n-th union field, i.e. n-th
 union field is the active one if discriminator contains this
-constant.</p><p>when done.</p></page>
+constant.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator_offset.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator_offset.page
index 9fa8c0e..948e41e 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator_offset.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator_offset.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_discriminator_offset"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_discriminator_offset</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_get_discriminator_offset</title>
+<synopsis><code mime="text/x-csrc">
+gint g_union_info_get_discriminator_offset (GIUnionInfo* info);
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator_type.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator_type.page
index 2e31022..190ebe2 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator_type.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_discriminator_type.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_discriminator_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GITypeInfo*</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_discriminator_type</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_get_discriminator_type</title>
-<p>Obtain the type information of the union discriminator.</p><p>when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GITypeInfo* g_union_info_get_discriminator_type (GIUnionInfo* info);
+</code></synopsis>
+<p>Obtain the type information of the union discriminator.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_field.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_field.page
index 77ff25a..d0f61aa 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_field.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_field.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFieldInfo*</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_field</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_get_field</title>
-<p>Obtain the type information for field with specified index.</p><p>when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFieldInfo* g_union_info_get_field (GIUnionInfo* info,
+                                     gint n);
+</code></synopsis>
+<p>Obtain the type information for field with specified index.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_method.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_method.page
index bb54132..fe6de72 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_method.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_method.page
@@ -1,11 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_get_method</title>
-<p>Obtain the type information for method with specified index.</p><p>when done.</p></page>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_union_info_get_method (GIUnionInfo* info,
+                                         gint n);
+</code></synopsis>
+<p>Obtain the type information for method with specified index.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_n_fields.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_n_fields.page
index 10e1472..cb52b7b 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_n_fields.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_n_fields.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_n_fields"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_n_fields</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_get_n_fields</title>
-<p>Obtain the number of fields this union has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_union_info_get_n_fields (GIUnionInfo* info);
+</code></synopsis>
+<p>Obtain the number of fields this union has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_n_methods.page
index 3c4b319..ed86477 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_n_methods.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_n_methods.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_n_methods"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_get_n_methods</title>
-<p>Obtain the number of methods this union has.</p></page>
+<synopsis><code mime="text/x-csrc">
+gint g_union_info_get_n_methods (GIUnionInfo* info);
+</code></synopsis>
+<p>Obtain the number of methods this union has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_size.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_size.page
index 3644d37..56fb877 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_size.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_get_size.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_size"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gsize</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_size</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_get_size</title>
-<p>Obtain the total size of the union.</p></page>
+<synopsis><code mime="text/x-csrc">
+gsize g_union_info_get_size (GIUnionInfo* info);
+</code></synopsis>
+<p>Obtain the total size of the union.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_is_discriminated.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_is_discriminated.page
index 934cd89..cae09c1 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_is_discriminated.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.union_info_is_discriminated.page
@@ -1,11 +1,27 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_is_discriminated"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_union_info_is_discriminated</api:name>
+      <api:arg>
+        <api:type>GIUnionInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_union_info_is_discriminated</title>
-<p>Return true if this union contains discriminator field.</p></page>
+<synopsis><code mime="text/x-csrc">
+gboolean g_union_info_is_discriminated (GIUnionInfo* info);
+</code></synopsis>
+<p>Return true if this union contains discriminator field.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.value_info_get_value.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.value_info_get_value.page
index 2c63b17..bcb89f9 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.value_info_get_value.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.value_info_get_value.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.value_info_get_value"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint64</api:type>
+      </api:returns>
+      <api:name>g_value_info_get_value</api:name>
+      <api:arg>
+        <api:type>GIValueInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_value_info_get_value</title>
+<synopsis><code mime="text/x-csrc">
+gint64 g_value_info_get_value (GIValueInfo* info);
+</code></synopsis>
 <p>Obtain the enumeration value of the <link xref="GIValueInfo">GIValueInfo</link>.</p><p>as a 32-bit signed or unsigned value. The use of gint64 as the
-return type is to allow both.</p></page>
+return type is to allow both.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_address.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_address.page
index e0a94e3..e7972b7 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_address.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_address.page
@@ -1,12 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_address"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gpointer</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_address</api:name>
+      <api:arg>
+        <api:type>GIVFuncInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GType</api:type>
+        <api:name>implementor_gtype</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_vfunc_info_get_address</title>
+<synopsis><code mime="text/x-csrc">
+gpointer g_vfunc_info_get_address (GIVFuncInfo* info,
+                                   GType implementor_gtype);
+</code></synopsis>
 <p>This method will look up where inside the type struct of @implementor_gtype
-is the implementation for @info.</p></page>
+is the implementation for @info.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_flags.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_flags.page
index 46b3ad2..5a0e044 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_flags.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIVFuncInfoFlags</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GIVFuncInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_vfunc_info_get_flags</title>
+<synopsis><code mime="text/x-csrc">
+GIVFuncInfoFlags g_vfunc_info_get_flags (GIVFuncInfo* info);
+</code></synopsis>
 <p>Obtain the flags for this virtual function info. See <link xref="GIVFuncInfoFlags">GIVFuncInfoFlags</link> for
-more information about possible flag values.</p></page>
+more information about possible flag values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_invoker.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_invoker.page
index 117e9e2..2d445e2 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_invoker.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_invoker.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_invoker"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIFunctionInfo*</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_invoker</api:name>
+      <api:arg>
+        <api:type>GIVFuncInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_vfunc_info_get_invoker</title>
+<synopsis><code mime="text/x-csrc">
+GIFunctionInfo* g_vfunc_info_get_invoker (GIVFuncInfo* info);
+</code></synopsis>
 <p>If this virtual function has an associated invoker method, this
-method will return it.  An invoker method is a C entry point.</p><p>Not all virtuals will have invokers.</p><p>g_base_info_unref() when done.</p></page>
+method will return it.  An invoker method is a C entry point.</p><p>Not all virtuals will have invokers.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_offset.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_offset.page
index f5bc5f4..e4a7777 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_offset.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_offset.page
@@ -1,12 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_offset"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_offset</api:name>
+      <api:arg>
+        <api:type>GIVFuncInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_vfunc_info_get_offset</title>
+<synopsis><code mime="text/x-csrc">
+gint g_vfunc_info_get_offset (GIVFuncInfo* info);
+</code></synopsis>
 <p>Obtain the offset of the function pointer in the class struct. The value
-0xFFFF indicates that the struct offset is unknown.</p></page>
+0xFFFF indicates that the struct offset is unknown.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_signal.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_signal.page
index 4a45456..0437909 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_signal.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_get_signal.page
@@ -1,13 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_signal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GISignalInfo*</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_signal</api:name>
+      <api:arg>
+        <api:type>GIVFuncInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_vfunc_info_get_signal</title>
+<synopsis><code mime="text/x-csrc">
+GISignalInfo* g_vfunc_info_get_signal (GIVFuncInfo* info);
+</code></synopsis>
 <p>Obtain the signal for the virtual function if one is set.
 The signal comes from the object or interface to which
-this virtual function belongs.</p></page>
+this virtual function belongs.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_invoke.page b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_invoke.page
index 3df8841..2da4495 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_invoke.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/GIRepository.vfunc_info_invoke.page
@@ -1,13 +1,59 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_invoke"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_invoke</api:name>
+      <api:arg>
+        <api:type>GIVFuncInfo*</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GType</api:type>
+        <api:name>implementor</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>in_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>int</api:type>
+        <api:name>n_in_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>out_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>int</api:type>
+        <api:name>n_out_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIArgument*</api:type>
+        <api:name>return_value</api:name>
+      </api:arg>
+    </api:function>
   </info>
   <title>g_vfunc_info_invoke</title>
+<synopsis><code mime="text/x-csrc">
+gboolean g_vfunc_info_invoke (GIVFuncInfo* info,
+                              GType implementor,
+                              GIArgument* in_args,
+                              int n_in_args,
+                              GIArgument* out_args,
+                              int n_out_args,
+                              GIArgument* return_value);
+</code></synopsis>
 <p>Invokes the function described in @info with the given
 arguments. Note that inout parameters must appear in both
-argument lists.</p><p>error occurred.</p></page>
+argument lists.</p><p>error occurred.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-C-expected/index.page b/tests/doctool/GIRepository-2.0-C-expected/index.page
index badacf0..c1ce06a 100644
--- a/tests/doctool/GIRepository-2.0-C-expected/index.page
+++ b/tests/doctool/GIRepository-2.0-C-expected/index.page
@@ -7,13 +7,13 @@
   <info>
   </info>
   <title>GIRepository Documentation</title>
-  <links type="topic" ui:expanded="yes" groups="class">
+  <links type="topic" ui:expanded="yes" groups="class" style="linklist">
     <title>Classes</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="function">
+  <links type="topic" ui:expanded="yes" groups="function" style="linklist">
     <title>Functions</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="#first #default #last">
+  <links type="topic" ui:expanded="yes" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ArgInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ArgInfo.page
index c804fe0..8cddb85 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ArgInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ArgInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.ArgInfo</title>
-<p>Represents an argument.</p></page>
+<p>Represents an argument.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ArrayType.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ArrayType.page
index 31a1f19..7d348d4 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ArrayType.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ArrayType.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.ArrayType</title>
-<p>The type of array in a <link xref="GITypeInfo">GITypeInfo</link>.</p></page>
+<p>The type of array in a <link xref="GITypeInfo">GITypeInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.AttributeIter.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.AttributeIter.page
index 39cc330..6ee6932 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.AttributeIter.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.AttributeIter.page
@@ -7,6 +7,7 @@
   <info>
     <link type="guide" xref="index"/>
   </info>
-  <title>GIRepository.AttributeIter</title>
-<p>An opaque structure used to iterate over attributes
-in a <link xref="GIBaseInfo">GIBaseInfo</link> struct.</p></page>
+  <title>GIRepositoryAttributeIter</title>
+  <p>An opaque structure used to iterate over attributes
+in a #GIBaseInfo struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.equal.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.equal.page
index d650f81..8f8cef1 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.equal.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.equal.page
@@ -1,13 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.equal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_base_info_equal</api:name>
+      <api:arg>
+        <api:type>GIRepository.BaseInfo</api:type>
+        <api:name>info2</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.equal</title>
+  <title>equal</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.BaseInfo)
+ returns(gboolean)
+def GIRepository.BaseInfo.equal(info2)
+</code></synopsis>
 <p>Compare two <link xref="GIBaseInfo">GIBaseInfo</link>.</p><p>Using pointer comparison is not practical since many functions return
 different instances of <link xref="GIBaseInfo">GIBaseInfo</link> that refers to the same part of the
-TypeLib; use this function instead to do <link xref="GIBaseInfo">GIBaseInfo</link> comparisons.</p></page>
+TypeLib; use this function instead to do <link xref="GIBaseInfo">GIBaseInfo</link> comparisons.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_attribute.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_attribute.page
index 4979c51..71f8157 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_attribute.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_attribute.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_attribute"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_attribute</api:name>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.get_attribute</title>
-<p>Retrieve an arbitrary attribute associated with this node.</p></page>
+  <title>get_attribute</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns(utf8)
+def GIRepository.BaseInfo.get_attribute(name)
+</code></synopsis>
+<p>Retrieve an arbitrary attribute associated with this node.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_container.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_container.page
index 1fb285f..6093b1c 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_container.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_container.page
@@ -1,13 +1,26 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_container"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.BaseInfo</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_container</api:name>
+    </api:function>
   </info>
-  <title>GIRepository.get_container</title>
+  <title>get_container</title>
+<synopsis><code mime="text/x-python">
+ returns(GIRepository.BaseInfo)
+def GIRepository.BaseInfo.get_container()
+</code></synopsis>
 <p>Obtain the container of the @info. The container is the parent
 GIBaseInfo. For instance, the parent of a <link xref="GIFunctionInfo">GIFunctionInfo</link> is an
-<link xref="GIObjectInfo">GIObjectInfo</link> or <link xref="GIInterfaceInfo">GIInterfaceInfo</link>.</p></page>
+<link xref="GIObjectInfo">GIObjectInfo</link> or <link xref="GIInterfaceInfo">GIInterfaceInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_name.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_name.page
index 7ac3a14..8ae51e7 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_name.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_name.page
@@ -1,13 +1,26 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_name"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_name</api:name>
+    </api:function>
   </info>
-  <title>GIRepository.get_name</title>
+  <title>get_name</title>
+<synopsis><code mime="text/x-python">
+ returns(utf8)
+def GIRepository.BaseInfo.get_name()
+</code></synopsis>
 <p>Obtain the name of the @info. What the name represents depends on
 the <link xref="GIInfoType">GIInfoType</link> of the @info. For instance for <link xref="GIFunctionInfo">GIFunctionInfo</link> it is
-the name of the function.</p></page>
+the name of the function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_namespace.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_namespace.page
index b66409c..19ca429 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_namespace.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_namespace.page
@@ -1,11 +1,24 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_namespace"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_namespace</api:name>
+    </api:function>
   </info>
-  <title>GIRepository.get_namespace</title>
-<p>Obtain the namespace of @info.</p></page>
+  <title>get_namespace</title>
+<synopsis><code mime="text/x-python">
+ returns(utf8)
+def GIRepository.BaseInfo.get_namespace()
+</code></synopsis>
+<p>Obtain the namespace of @info.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_typelib.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_typelib.page
index b856a22..a60cbf9 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_typelib.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.get_typelib.page
@@ -1,11 +1,24 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.get_typelib"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.Typelib</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_typelib</api:name>
+    </api:function>
   </info>
-  <title>GIRepository.get_typelib</title>
-<p>Obtain the typelib this @info belongs to</p></page>
+  <title>get_typelib</title>
+<synopsis><code mime="text/x-python">
+ returns(GIRepository.Typelib)
+def GIRepository.BaseInfo.get_typelib()
+</code></synopsis>
+<p>Obtain the typelib this @info belongs to</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.is_deprecated.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.is_deprecated.page
index f7c24a3..781539d 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.is_deprecated.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.is_deprecated.page
@@ -1,12 +1,25 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.is_deprecated"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_base_info_is_deprecated</api:name>
+    </api:function>
   </info>
-  <title>GIRepository.is_deprecated</title>
+  <title>is_deprecated</title>
+<synopsis><code mime="text/x-python">
+ returns(gboolean)
+def GIRepository.BaseInfo.is_deprecated()
+</code></synopsis>
 <p>Obtain whether the @info is represents a metadata which is
-deprecated or not.</p></page>
+deprecated or not.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.iterate_attributes.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.iterate_attributes.page
index 5b9bf3b..e81635b 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.iterate_attributes.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.iterate_attributes.page
@@ -1,13 +1,38 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.iterate_attributes"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_base_info_iterate_attributes</api:name>
+      <api:arg>
+        <api:type>GIRepository.AttributeIter</api:type>
+        <api:name>iterator</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.iterate_attributes</title>
+  <title>iterate_attributes</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.AttributeIter, utf8, utf8)
+ returns(gboolean)
+def GIRepository.BaseInfo.iterate_attributes(iterator, name, value)
+</code></synopsis>
 <p>Iterate over all attributes associated with this node.  The iterator
 structure is typically stack allocated, and must have its first
 member initialized to %NULL.</p><p>Both the @name and @value should be treated as constants
@@ -26,4 +51,5 @@ g_print ("attribute name: %s value: %s", name, value);
 }
 }
 &lt;/programlisting&gt;
-&lt;/example&gt;</p></page>
+&lt;/example&gt;</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.page
index 8bb5fcd..055334f 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.page
@@ -7,37 +7,42 @@
   <info>
     <link type="guide" xref="index"/>
   </info>
-  <title>GIRepository.BaseInfo</title>
-<p>GIBaseInfo is the common base struct of all other *Info structs
-accessible through the <link xref="GIRepository">GIRepository</link> API.
-All other structs can be casted to a <link xref="GIBaseInfo">GIBaseInfo</link>, for instance:
-&lt;example&gt;
-&lt;title&gt;Casting a <link xref="GIFunctionInfo">GIFunctionInfo</link> to <link xref="GIBaseInfo">GIBaseInfo</link>&lt;/title&gt;
-&lt;programlisting&gt;
+  <title>GIRepositoryBaseInfo</title>
+  <p>GIBaseInfo is the common base struct of all other *Info structs
+accessible through the #GIRepository API.
+All other structs can be casted to a #GIBaseInfo, for instance:
+<example>
+<title>Casting a #GIFunctionInfo to #GIBaseInfo</title>
+<programlisting>
 GIFunctionInfo *function_info = ...;
 GIBaseInfo *info = (GIBaseInfo*)function_info;
-&lt;/programlisting&gt;
-&lt;/example&gt;
-Most <link xref="GIRepository">GIRepository</link> APIs returning a <link xref="GIBaseInfo">GIBaseInfo</link> is actually creating a new struct, in other
+</programlisting>
+</example>
+Most #GIRepository APIs returning a #GIBaseInfo is actually creating a new struct, in other
 words, g_base_info_unref() has to be called when done accessing the data.
 GIBaseInfos are normally accessed by calling either
-g_irepository_find_by_name(), g_irepository_find_by_gtype() or g_irepository_get_info().</p><p>&lt;example&gt;
-&lt;title&gt;Getting the Button of the Gtk typelib&lt;/title&gt;
-&lt;programlisting&gt;
+g_irepository_find_by_name(), g_irepository_find_by_gtype() or g_irepository_get_info().
+
+<example>
+<title>Getting the Button of the Gtk typelib</title>
+<programlisting>
 GIBaseInfo *button_info = g_irepository_find_by_name(NULL, "Gtk", "Button");
 ... use button_info ...
 g_base_info_unref(button_info);
-&lt;/programlisting&gt;
-&lt;/example&gt;</p><p>&lt;refsect1 id="gi-gibaseinfo.struct-hierarchy" role="struct_hierarchy"&gt;
-&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
-&lt;synopsis&gt;
+</programlisting>
+</example>
+
+<refsect1 id="gi-gibaseinfo.struct-hierarchy" role="struct_hierarchy">
+<title role="struct_hierarchy.title">Struct hierarchy</title>
+<synopsis>
 GIBaseInfo
-+----&lt;link linkend="gi-GIArgInfo"&gt;GIArgInfo&lt;/link&gt;
-+----&lt;link linkend="gi-GICallableInfo"&gt;GICallableInfo&lt;/link&gt;
-+----&lt;link linkend="gi-GIConstantInfo"&gt;GIConstantInfo&lt;/link&gt;
-+----&lt;link linkend="gi-GIFieldInfo"&gt;GIFieldInfo&lt;/link&gt;
-+----&lt;link linkend="gi-GIPropertyInfo"&gt;GIPropertyInfo&lt;/link&gt;
-+----&lt;link linkend="gi-GIRegisteredTypeInfo"&gt;GIRegisteredTypeInfo&lt;/link&gt;
-+----&lt;link linkend="gi-GITypeInfo"&gt;GITypeInfo&lt;/link&gt;
-&lt;/synopsis&gt;
-&lt;/refsect1&gt;</p></page>
++----<link linkend="gi-GIArgInfo">GIArgInfo</link>
++----<link linkend="gi-GICallableInfo">GICallableInfo</link>
++----<link linkend="gi-GIConstantInfo">GIConstantInfo</link>
++----<link linkend="gi-GIFieldInfo">GIFieldInfo</link>
++----<link linkend="gi-GIPropertyInfo">GIPropertyInfo</link>
++----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
++----<link linkend="gi-GITypeInfo">GITypeInfo</link>
+</synopsis>
+</refsect1></p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.ref.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.ref.page
index 0b81c1d..c0395bd 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.ref.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.ref.page
@@ -1,11 +1,24 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.ref"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.BaseInfo</api:type>
+      </api:returns>
+      <api:name>g_base_info_ref</api:name>
+    </api:function>
   </info>
-  <title>GIRepository.ref</title>
-<p>Increases the reference count of @info.</p></page>
+  <title>ref</title>
+<synopsis><code mime="text/x-python">
+ returns(GIRepository.BaseInfo)
+def GIRepository.BaseInfo.ref()
+</code></synopsis>
+<p>Increases the reference count of @info.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.unref.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.unref.page
index 5abc2ad..000376f 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.unref.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.unref.page
@@ -1,12 +1,25 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.BaseInfo.unref"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.BaseInfo" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>none</api:type>
+      </api:returns>
+      <api:name>g_base_info_unref</api:name>
+    </api:function>
   </info>
-  <title>GIRepository.unref</title>
+  <title>unref</title>
+<synopsis><code mime="text/x-python">
+ returns(none)
+def GIRepository.BaseInfo.unref()
+</code></synopsis>
 <p>Decreases the reference count of @info. When its reference count
-drops to 0, the info is freed.</p></page>
+drops to 0, the info is freed.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.CallableInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.CallableInfo.page
index 739ee20..79c00eb 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.CallableInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.CallableInfo.page
@@ -8,4 +8,5 @@
   </info>
   <title>GIRepository.CallableInfo</title>
 <p>Represents a callable, either <link xref="GIFunctionInfo">GIFunctionInfo</link>, <link xref="GICallbackInfo">GICallbackInfo</link> or
-<link xref="GIVFuncInfo">GIVFuncInfo</link>.</p></page>
+<link xref="GIVFuncInfo">GIVFuncInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.CallbackInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.CallbackInfo.page
index 8205593..e5a7170 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.CallbackInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.CallbackInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.CallbackInfo</title>
-<p>Represents a callback, eg arguments and return value.</p></page>
+<p>Represents a callback, eg arguments and return value.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ConstantInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ConstantInfo.page
index 1780406..4ed05ed 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ConstantInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ConstantInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.ConstantInfo</title>
-<p>Represents a constant.</p></page>
+<p>Represents a constant.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Direction.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Direction.page
index 1b68ba8..fc0949a 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Direction.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Direction.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.Direction</title>
-<p>The direction of a <link xref="GIArgInfo">GIArgInfo</link>.</p></page>
+<p>The direction of a <link xref="GIArgInfo">GIArgInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.EnumInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.EnumInfo.page
index 76c7154..eebac1b 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.EnumInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.EnumInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.EnumInfo</title>
-<p>Represents an enum or a flag.</p></page>
+<p>Represents an enum or a flag.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FieldInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FieldInfo.page
index 9aae680..d2cf5c8 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FieldInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FieldInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.FieldInfo</title>
-<p>Represents a field of a <link xref="GIStructInfo">GIStructInfo</link> or a <link xref="GIUnionInfo">GIUnionInfo</link>.</p></page>
+<p>Represents a field of a <link xref="GIStructInfo">GIStructInfo</link> or a <link xref="GIUnionInfo">GIUnionInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FieldInfoFlags.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FieldInfoFlags.page
index d1e85b0..22c26a7 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FieldInfoFlags.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FieldInfoFlags.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.FieldInfoFlags</title>
-<p>Flags for a <link xref="GIFieldInfo">GIFieldInfo</link>.</p></page>
+<p>Flags for a <link xref="GIFieldInfo">GIFieldInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FunctionInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FunctionInfo.page
index d20c7b2..d0b0f45 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FunctionInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FunctionInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.FunctionInfo</title>
-<p>Represents a function, eg arguments and return value.</p></page>
+<p>Represents a function, eg arguments and return value.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FunctionInfoFlags.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FunctionInfoFlags.page
index f86678c..03c4d5a 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FunctionInfoFlags.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.FunctionInfoFlags.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.FunctionInfoFlags</title>
-<p>Flags for a <link xref="GIFunctionInfo">GIFunctionInfo</link> struct.</p></page>
+<p>Flags for a <link xref="GIFunctionInfo">GIFunctionInfo</link> struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.InfoType.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.InfoType.page
index 04e4bbb..f9964f2 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.InfoType.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.InfoType.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.InfoType</title>
-<p>The type of a GIBaseInfo struct.</p></page>
+<p>The type of a GIBaseInfo struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.InterfaceInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.InterfaceInfo.page
index 7688335..27ebf8f 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.InterfaceInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.InterfaceInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.InterfaceInfo</title>
-<p>Represents an interface.</p></page>
+<p>Represents an interface.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfo.page
index 3cd4aed..fd74384 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.ObjectInfo</title>
-<p>Represents an object.</p></page>
+<p>Represents an object.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoGetValueFunction.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoGetValueFunction.page
index 1052455..a8a8639 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoGetValueFunction.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoGetValueFunction.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.ObjectInfoGetValueFunction</title>
-<p>Extract an object instance out of @value</p></page>
+<p>Extract an object instance out of @value</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoRefFunction.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoRefFunction.page
index 5af4046..12b8b52 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoRefFunction.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoRefFunction.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.ObjectInfoRefFunction</title>
-<p>Increases the reference count of an object instance.</p></page>
+<p>Increases the reference count of an object instance.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoSetValueFunction.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoSetValueFunction.page
index 2940635..3d5c677 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoSetValueFunction.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoSetValueFunction.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.ObjectInfoSetValueFunction</title>
-<p>Update @value and attach the object instance pointer @object to it.</p></page>
+<p>Update @value and attach the object instance pointer @object to it.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoUnrefFunction.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoUnrefFunction.page
index 64f7d99..1112009 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoUnrefFunction.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ObjectInfoUnrefFunction.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.ObjectInfoUnrefFunction</title>
-<p>Decreases the reference count of an object instance.</p></page>
+<p>Decreases the reference count of an object instance.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.PropertyInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.PropertyInfo.page
index 5b92351..2325b69 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.PropertyInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.PropertyInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.PropertyInfo</title>
-<p>Represents a property of a <link xref="GIObjectInfo">GIObjectInfo</link> or a <link xref="GIInterfaceInfo">GIInterfaceInfo</link>.</p></page>
+<p>Represents a property of a <link xref="GIObjectInfo">GIObjectInfo</link> or a <link xref="GIInterfaceInfo">GIInterfaceInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RegisteredTypeInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RegisteredTypeInfo.page
index debbc0b..d98e976 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RegisteredTypeInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RegisteredTypeInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.RegisteredTypeInfo</title>
-<p>Represent a registered type.</p></page>
+<p>Represent a registered type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.dump.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.dump.page
new file mode 100644
index 0000000..f2c7b46
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.dump.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.dump"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_irepository_dump</api:name>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>arg</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>dump</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns(gboolean)
+def GIRepository.Repository.dump(arg)
+</code></synopsis>
+
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.enumerate_versions.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.enumerate_versions.page
index 0b4f84d..37188c9 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.enumerate_versions.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.enumerate_versions.page
@@ -1,12 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.enumerate_versions"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>&lt;list&gt;</api:type>
+      </api:returns>
+      <api:name>g_irepository_enumerate_versions</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.enumerate_versions</title>
+  <title>enumerate_versions</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns(&lt;list&gt;)
+def GIRepository.Repository.enumerate_versions(namespace_)
+</code></synopsis>
 <p>Obtain an unordered list of versions (either currently loaded or
-available) for @namespace_ in this @repository.</p></page>
+available) for @namespace_ in this @repository.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.error_quark.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.error_quark.page
new file mode 100644
index 0000000..0cae47b
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.error_quark.page
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.error_quark"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GLib.Quark</api:type>
+      </api:returns>
+      <api:name>g_irepository_error_quark</api:name>
+    </api:function>
+  </info>
+  <title>error_quark</title>
+<synopsis><code mime="text/x-python">
+ returns(GLib.Quark)
+def GIRepository.Repository.error_quark()
+</code></synopsis>
+
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_error_domain.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_error_domain.page
index 989a713..657a8ac 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_error_domain.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_error_domain.page
@@ -1,14 +1,36 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.find_by_error_domain"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.EnumInfo</api:type>
+      </api:returns>
+      <api:name>g_irepository_find_by_error_domain</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GLib.Quark</api:type>
+        <api:name>domain</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.find_by_error_domain</title>
+  <title>find_by_error_domain</title>
+<synopsis><code mime="text/x-python">
+ accepts(GLib.Quark)
+ returns(GIRepository.EnumInfo)
+def GIRepository.Repository.find_by_error_domain(domain)
+</code></synopsis>
 <p>Searches for the enum type corresponding to the given <link xref="GError">GError</link>
 domain. Before calling this function for a particular namespace,
 you must call g_irepository_require() once to load the namespace, or
-otherwise ensure the namespace has already been loaded.</p><p>enum type, or %NULL</p></page>
+otherwise ensure the namespace has already been loaded.</p><p>enum type, or %NULL</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_gtype.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_gtype.page
index 0ced00d..fee97a4 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_gtype.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_gtype.page
@@ -1,16 +1,38 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.find_by_gtype"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.BaseInfo</api:type>
+      </api:returns>
+      <api:name>g_irepository_find_by_gtype</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GType</api:type>
+        <api:name>gtype</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.find_by_gtype</title>
+  <title>find_by_gtype</title>
+<synopsis><code mime="text/x-python">
+ accepts(GType)
+ returns(GIRepository.BaseInfo)
+def GIRepository.Repository.find_by_gtype(gtype)
+</code></synopsis>
 <p>Searches all loaded namespaces for a particular <link xref="GType">GType</link>.  Note that
 in order to locate the metadata, the namespace corresponding to
 the type must first have been loaded.  There is currently no
 mechanism for determining the namespace which corresponds to an
 arbitrary GType - thus, this function will operate most reliably
-when you know the GType to originate from be from a loaded namespace.</p></page>
+when you know the GType to originate from be from a loaded namespace.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_name.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_name.page
index 6f61fd8..6429fc0 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_name.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.find_by_name.page
@@ -1,14 +1,40 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.find_by_name"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.BaseInfo</api:type>
+      </api:returns>
+      <api:name>g_irepository_find_by_name</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.find_by_name</title>
+  <title>find_by_name</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8, utf8)
+ returns(GIRepository.BaseInfo)
+def GIRepository.Repository.find_by_name(namespace_, name)
+</code></synopsis>
 <p>Searches for a particular entry in a namespace.  Before calling
 this function for a particular namespace, you must call
 g_irepository_require() once to load the namespace, or otherwise
-ensure the namespace has already been loaded.</p></page>
+ensure the namespace has already been loaded.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_c_prefix.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_c_prefix.page
index 1bf517c..3a7dfed 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_c_prefix.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_c_prefix.page
@@ -1,14 +1,36 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_c_prefix"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_c_prefix</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.get_c_prefix</title>
+  <title>get_c_prefix</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns(utf8)
+def GIRepository.Repository.get_c_prefix(namespace_)
+</code></synopsis>
 <p>This function returns the "C prefix", or the C level namespace
 associated with the given introspection namespace.  Each C symbol
 starts with this prefix, as well each <link xref="GType">GType</link> in the library.</p><p>Note: The namespace must have already been loaded using a function
-such as g_irepository_require() before calling this function.</p></page>
+such as g_irepository_require() before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_default.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_default.page
new file mode 100644
index 0000000..f13d690
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_default.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.get_default"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.Repository</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_default</api:name>
+    </api:function>
+  </info>
+  <title>get_default</title>
+<synopsis><code mime="text/x-python">
+ returns(GIRepository.Repository)
+def GIRepository.Repository.get_default()
+</code></synopsis>
+<p>Returns the singleton process-global default <link xref="GIRepository">GIRepository</link>.  It is
+not currently supported to have multiple repositories in a
+particular process, but this function is provided in the unlikely
+eventuality that it would become possible, and as a convenience for
+higher level language bindings to conform to the GObject method
+call conventions.
+All methods on <link xref="GIRepository">GIRepository</link> also accept %NULL as an instance
+parameter to mean this default repository, which is usually more
+convenient for C.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_dependencies.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_dependencies.page
index 3dcb1f8..57d8b5b 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_dependencies.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_dependencies.page
@@ -1,14 +1,36 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_dependencies"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>[utf8]</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_dependencies</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.get_dependencies</title>
+  <title>get_dependencies</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns([utf8])
+def GIRepository.Repository.get_dependencies(namespace_)
+</code></synopsis>
 <p>Return an array of all (transitive) dependencies for namespace
 @namespace_, including version.  The returned strings are of the
 form &lt;code&gt;namespace-version&lt;/code&gt;.</p><p>Note: The namespace must have already been loaded using a function
-such as g_irepository_require() before calling this function.</p></page>
+such as g_irepository_require() before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_info.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_info.page
index 85d0a53..11e7eba 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_info.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_info.page
@@ -1,15 +1,41 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_info"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.BaseInfo</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_info</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>index</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.get_info</title>
+  <title>get_info</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8, gint)
+ returns(GIRepository.BaseInfo)
+def GIRepository.Repository.get_info(namespace_, index)
+</code></synopsis>
 <p>This function returns a particular metadata entry in the
 given namespace @namespace_.  The namespace must have
 already been loaded before calling this function.
 See g_irepository_get_n_infos() to find the maximum number of
-entries.</p></page>
+entries.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_loaded_namespaces.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_loaded_namespaces.page
index b920393..f6c49cb 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_loaded_namespaces.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_loaded_namespaces.page
@@ -1,11 +1,28 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_loaded_namespaces"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>[utf8]</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_loaded_namespaces</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.get_loaded_namespaces</title>
-<p>Return the list of currently loaded namespaces.</p></page>
+  <title>get_loaded_namespaces</title>
+<synopsis><code mime="text/x-python">
+ returns([utf8])
+def GIRepository.Repository.get_loaded_namespaces()
+</code></synopsis>
+<p>Return the list of currently loaded namespaces.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_n_infos.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_n_infos.page
index 5cba433..cb0a619 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_n_infos.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_n_infos.page
@@ -1,13 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_n_infos"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_n_infos</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.get_n_infos</title>
+  <title>get_n_infos</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns(gint)
+def GIRepository.Repository.get_n_infos(namespace_)
+</code></synopsis>
 <p>This function returns the number of metadata entries in
 given namespace @namespace_.  The namespace must have
-already been loaded before calling this function.</p></page>
+already been loaded before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_option_group.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_option_group.page
new file mode 100644
index 0000000..611b25e
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_option_group.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.get_option_group"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GLib.OptionGroup</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_option_group</api:name>
+    </api:function>
+  </info>
+  <title>get_option_group</title>
+<synopsis><code mime="text/x-python">
+ returns(GLib.OptionGroup)
+def GIRepository.Repository.get_option_group()
+</code></synopsis>
+<p>Obtain the option group for girepository, it's used
+by the dumper and for programs that wants to provide
+introspection information</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_search_path.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_search_path.page
new file mode 100644
index 0000000..9cd4117
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_search_path.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.get_search_path"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>&lt;list&gt;</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_search_path</api:name>
+    </api:function>
+  </info>
+  <title>get_search_path</title>
+<synopsis><code mime="text/x-python">
+ returns(&lt;list&gt;)
+def GIRepository.Repository.get_search_path()
+</code></synopsis>
+<p>Returns the search path the GIRepository will use when looking for typelibs.
+The string is internal to GIRespository and should not be freed, nor should
+the elements.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_shared_library.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_shared_library.page
index ed0bff7..0a54c8f 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_shared_library.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_shared_library.page
@@ -1,15 +1,37 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_shared_library"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_shared_library</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.get_shared_library</title>
+  <title>get_shared_library</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns(utf8)
+def GIRepository.Repository.get_shared_library(namespace_)
+</code></synopsis>
 <p>This function returns the full path to the shared C library
 associated with the given namespace @namespace_. There may be no
 shared library path associated, in which case this function will
 return %NULL.</p><p>Note: The namespace must have already been loaded using a function
-such as g_irepository_require() before calling this function.</p></page>
+such as g_irepository_require() before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_typelib_path.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_typelib_path.page
index 60a1cc6..6f7f37e 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_typelib_path.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_typelib_path.page
@@ -1,14 +1,36 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_typelib_path"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_typelib_path</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.get_typelib_path</title>
+  <title>get_typelib_path</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns(utf8)
+def GIRepository.Repository.get_typelib_path(namespace_)
+</code></synopsis>
 <p>If namespace @namespace_ is loaded, return the full path to the
 .typelib file it was loaded from.  If the typelib for
 namespace @namespace_ was included in a shared library, return
-the special string "$lt;builtin$gt;".</p></page>
+the special string "$lt;builtin$gt;".</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_version.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_version.page
index 97c961e..23d7a3f 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_version.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.get_version.page
@@ -1,13 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.get_version"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_irepository_get_version</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.get_version</title>
+  <title>get_version</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns(utf8)
+def GIRepository.Repository.get_version(namespace_)
+</code></synopsis>
 <p>This function returns the loaded version associated with the given
 namespace @namespace_.</p><p>Note: The namespace must have already been loaded using a function
-such as g_irepository_require() before calling this function.</p></page>
+such as g_irepository_require() before calling this function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.is_registered.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.is_registered.page
index f974928..efb12cc 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.is_registered.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.is_registered.page
@@ -1,16 +1,42 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.is_registered"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_irepository_is_registered</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>version</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.is_registered</title>
+  <title>is_registered</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8, utf8)
+ returns(gboolean)
+def GIRepository.Repository.is_registered(namespace_, version)
+</code></synopsis>
 <p>Check whether a particular namespace (and optionally, a specific
 version thereof) is currently loaded.  This function is likely to
 only be useful in unusual circumstances; in order to act upon
 metadata in the namespace, you should call g_irepository_require()
 instead which will ensure the namespace is loaded, and return as
-quickly as this function will if it has already been loaded.</p></page>
+quickly as this function will if it has already been loaded.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.load_typelib.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.load_typelib.page
index 42583b3..3f90f9c 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.load_typelib.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.load_typelib.page
@@ -1,11 +1,37 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.load_typelib"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_irepository_load_typelib</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.Typelib</api:type>
+        <api:name>typelib</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.RepositoryLoadFlags</api:type>
+        <api:name>flags</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.load_typelib</title>
+  <title>load_typelib</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.Typelib, GIRepository.RepositoryLoadFlags)
+ returns(utf8)
+def GIRepository.Repository.load_typelib(typelib, flags)
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.page
index 02cfb1f..b194a07 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.page
@@ -3,11 +3,13 @@
       type="guide"
       style="class"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="class"/>
   </info>
   <title>GIRepository.Repository</title>
+
   <synopsis ui:expanded="no">
     <title>Hierarchy</title>
     <tree>
@@ -16,19 +18,28 @@
       </item>
     </tree>
   </synopsis>
-  <links type="topic" ui:expanded="yes" groups="constructor">
+  <links type="topic" ui:expanded="yes"
+         api:type="function" api:mime="text/x-python"
+         groups="constructor" style="linklist">
     <title>Constructors</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="method">
+  <links type="topic" ui:expanded="yes"
+         api:type="function" api:mime="text/x-python"
+         groups="method" style="linklist">
     <title>Methods</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="property">
+  <links type="topic" ui:expanded="yes"
+         api:type="function" api:mime="text/x-python"
+         groups="function" style="linklist">
+    <title>Functions</title>
+  </links>
+  <links type="topic" ui:expanded="yes" groups="property" style="linklist">
     <title>Properties</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="signal">
+  <links type="topic" ui:expanded="yes" groups="signal" style="linklist">
     <title>Signals</title>
   </links>
-  <links type="topic" ui:expanded="yes" groups="#first #default #last">
+  <links type="topic" ui:expanded="yes" groups="#first #default #last" style="linklist">
     <title>Other</title>
   </links>
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.prepend_search_path.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.prepend_search_path.page
new file mode 100644
index 0000000..26e0248
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.prepend_search_path.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.Repository.prepend_search_path"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="GIRepository.Repository" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>none</api:type>
+      </api:returns>
+      <api:name>g_irepository_prepend_search_path</api:name>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>directory</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>prepend_search_path</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8)
+ returns(none)
+def GIRepository.Repository.prepend_search_path(directory)
+</code></synopsis>
+
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.require.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.require.page
index eaca377..dd90bdf 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.require.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.require.page
@@ -1,15 +1,45 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.require"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.Typelib</api:type>
+      </api:returns>
+      <api:name>g_irepository_require</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>version</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.RepositoryLoadFlags</api:type>
+        <api:name>flags</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.require</title>
+  <title>require</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8, utf8, GIRepository.RepositoryLoadFlags)
+ returns(GIRepository.Typelib)
+def GIRepository.Repository.require(namespace_, version, flags)
+</code></synopsis>
 <p>Force the namespace @namespace_ to be loaded if it isn't already.
 If @namespace_ is not loaded, this function will search for a
 ".typelib" file using the repository search path.  In addition, a
 version @version of namespace may be specified.  If @version is
-not specified, the latest will be used.</p></page>
+not specified, the latest will be used.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.require_private.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.require_private.page
index 211d179..55a6d61 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.require_private.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Repository.require_private.page
@@ -1,15 +1,49 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.Repository.require_private"
       type="topic"
       style="method"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="GIRepository.Repository" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.Typelib</api:type>
+      </api:returns>
+      <api:name>g_irepository_require_private</api:name>
+      <api:arg>
+        <api:type>GIRepository *</api:type>
+        <api:name>self</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>typelib_dir</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>namespace_</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>version</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.RepositoryLoadFlags</api:type>
+        <api:name>flags</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.Repository.require_private</title>
+  <title>require_private</title>
+<synopsis><code mime="text/x-python">
+ accepts(utf8, utf8, utf8, GIRepository.RepositoryLoadFlags)
+ returns(GIRepository.Typelib)
+def GIRepository.Repository.require_private(typelib_dir, namespace_, version, flags)
+</code></synopsis>
 <p>Force the namespace @namespace_ to be loaded if it isn't already.
 If @namespace_ is not loaded, this function will search for a
 ".typelib" file within the private directory only. In addition, a
 version @version of namespace should be specified.  If @version is
-not specified, the latest will be used.</p></page>
+not specified, the latest will be used.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryClass.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryClass.page
index e8282d8..3da740b 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryClass.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryClass.page
@@ -7,5 +7,6 @@
   <info>
     <link type="guide" xref="index"/>
   </info>
-  <title>GIRepository.RepositoryClass</title>
+  <title>GIRepositoryRepositoryClass</title>
+  <p>None</p>
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryError.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryError.page
index f2c0a0b..3f996c9 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryError.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryError.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.RepositoryError</title>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryLoadFlags.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryLoadFlags.page
index 620b0d7..6ad05e8 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryLoadFlags.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.RepositoryLoadFlags.page
@@ -8,4 +8,5 @@
   </info>
   <title>GIRepository.RepositoryLoadFlags</title>
 <p>Flags that controlls how a typelib is loaded by
-GIRepositry, used by g_irepository_load_typelib().</p></page>
+GIRepositry, used by g_irepository_load_typelib().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ScopeType.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ScopeType.page
index 8ac8bff..f2d85eb 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ScopeType.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ScopeType.page
@@ -9,4 +9,5 @@
   <title>GIRepository.ScopeType</title>
 <p>Scope type of a <link xref="GIArgInfo">GIArgInfo</link> representing callback, determines how the
 callback is invoked and is used to decided when the invoke structs
-can be freed.</p></page>
+can be freed.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.SignalInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.SignalInfo.page
index 239e792..24f8471 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.SignalInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.SignalInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.SignalInfo</title>
-<p>Represents a signal.</p></page>
+<p>Represents a signal.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.StructInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.StructInfo.page
index f99632f..5e1cb0d 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.StructInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.StructInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.StructInfo</title>
-<p>Represents a struct.</p></page>
+<p>Represents a struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Transfer.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Transfer.page
index b1c7a86..67f0729 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Transfer.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.Transfer.page
@@ -16,4 +16,5 @@ ownership transfer is complete. In case of a containing type such as a list,
 an array or a hash table the container itself is specified differently from
 the items within the container itself. Each container is freed differently,
 check the documentation for the types themselves for information on how to
-free them.</p></page>
+free them.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.TypeInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.TypeInfo.page
index 38ac193..5b46d87 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.TypeInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.TypeInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.TypeInfo</title>
-<p>Represents type information, direction, transfer etc.</p></page>
+<p>Represents type information, direction, transfer etc.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.TypeTag.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.TypeTag.page
index 128b412..d78b167 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.TypeTag.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.TypeTag.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.TypeTag</title>
-<p>The type tag of a <link xref="GITypeInfo">GITypeInfo</link>.</p></page>
+<p>The type tag of a <link xref="GITypeInfo">GITypeInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.UnionInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.UnionInfo.page
index 34ee638..013ecb5 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.UnionInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.UnionInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.UnionInfo</title>
-<p>Represents a union.</p></page>
+<p>Represents a union.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.VFuncInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.VFuncInfo.page
index 6dc6317..a864ec1 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.VFuncInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.VFuncInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.VFuncInfo</title>
-<p>Represents a virtual function.</p></page>
+<p>Represents a virtual function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.VFuncInfoFlags.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.VFuncInfoFlags.page
index df2ca4f..7b6d703 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.VFuncInfoFlags.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.VFuncInfoFlags.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.VFuncInfoFlags</title>
-<p>Flags of a <link xref="GIVFuncInfo">GIVFuncInfo</link> struct.</p></page>
+<p>Flags of a <link xref="GIVFuncInfo">GIVFuncInfo</link> struct.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ValueInfo.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ValueInfo.page
index 3892b2a..38d93f2 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ValueInfo.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.ValueInfo.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository.ValueInfo</title>
-<p>Represents a enum value of a <link xref="GIEnumInfo">GIEnumInfo</link>.</p></page>
+<p>Represents a enum value of a <link xref="GIEnumInfo">GIEnumInfo</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository._Argument.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository._Argument.page
index 4189350..b5472b9 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository._Argument.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository._Argument.page
@@ -7,4 +7,5 @@
   <info>
   </info>
   <title>GIRepository._Argument</title>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository._BaseInfoStub.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository._BaseInfoStub.page
index 13b5d80..7d57d63 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository._BaseInfoStub.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository._BaseInfoStub.page
@@ -7,5 +7,6 @@
   <info>
     <link type="guide" xref="index"/>
   </info>
-  <title>GIRepository._BaseInfoStub</title>
+  <title>GIRepository_BaseInfoStub</title>
+  <p>None</p>
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_closure.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_closure.page
index 2dd6878..aa12415 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_closure.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_closure.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_closure"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_closure</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_get_closure</title>
+  <title>arg_info_get_closure</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(gint)
+def arg_info_get_closure(info)
+</code></synopsis>
 <p>Obtain the index of the user data argument. This is only valid
-for arguments which are callbacks.</p></page>
+for arguments which are callbacks.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_destroy.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_destroy.page
index 5116162..f5a82a5 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_destroy.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_destroy.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_destroy"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_destroy</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_get_destroy</title>
+  <title>arg_info_get_destroy</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(gint)
+def arg_info_get_destroy(info)
+</code></synopsis>
 <p>Obtains the index of the <link xref="GDestroyNotify">GDestroyNotify</link> argument. This is only valid
-for arguments which are callbacks.</p></page>
+for arguments which are callbacks.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_direction.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_direction.page
index c17be51..ad793dd 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_direction.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_direction.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_direction"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.Direction</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_direction</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_get_direction</title>
+  <title>arg_info_get_direction</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(GIRepository.Direction)
+def arg_info_get_direction(info)
+</code></synopsis>
 <p>Obtain the direction of the argument. Check <link xref="GIDirection">GIDirection</link> for possible
-direction values.</p></page>
+direction values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_ownership_transfer.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_ownership_transfer.page
index a1091c9..10da3c9 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_ownership_transfer.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_ownership_transfer.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_ownership_transfer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.Transfer</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_ownership_transfer</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_get_ownership_transfer</title>
+  <title>arg_info_get_ownership_transfer</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(GIRepository.Transfer)
+def arg_info_get_ownership_transfer(info)
+</code></synopsis>
 <p>Obtain the ownership transfer for this argument.
-<link xref="GITransfer">GITransfer</link> contains a list of possible values.</p></page>
+<link xref="GITransfer">GITransfer</link> contains a list of possible values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_scope.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_scope.page
index f80b184..f96ba5b 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_scope.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_scope.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_scope"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ScopeType</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_scope</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_get_scope</title>
+  <title>arg_info_get_scope</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(GIRepository.ScopeType)
+def arg_info_get_scope(info)
+</code></synopsis>
 <p>Obtain the scope type for this argument. The scope type explains
 how a callback is going to be invoked, most importantly when
 the resources required to invoke it can be freed.
-<link xref="GIScopeType">GIScopeType</link> contains a list of possible values.</p></page>
+<link xref="GIScopeType">GIScopeType</link> contains a list of possible values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_type.page
index 7aba6d1..18d936c 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_get_type.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.TypeInfo</api:type>
+      </api:returns>
+      <api:name>g_arg_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_get_type</title>
-<p>Obtain the type information for @info.</p><p>g_base_info_unref() when done.</p></page>
+  <title>arg_info_get_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(GIRepository.TypeInfo)
+def arg_info_get_type(info)
+</code></synopsis>
+<p>Obtain the type information for @info.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_caller_allocates.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_caller_allocates.page
index 4c50455..6f2302c 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_caller_allocates.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_caller_allocates.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_is_caller_allocates"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_is_caller_allocates</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_is_caller_allocates</title>
+  <title>arg_info_is_caller_allocates</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(gboolean)
+def arg_info_is_caller_allocates(info)
+</code></synopsis>
 <p>Obtain if the argument is a pointer to a struct or object that will
 receive an output of a function.  The default assumption for
 %GI_DIRECTION_OUT arguments which have allocation is that the
-callee allocates; if this is %TRUE, then the caller must allocate.</p></page>
+callee allocates; if this is %TRUE, then the caller must allocate.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_optional.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_optional.page
index 0d87d0e..c8cf7b9 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_optional.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_optional.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_is_optional"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_is_optional</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_is_optional</title>
-<p>Obtain if the argument is optional.</p></page>
+  <title>arg_info_is_optional</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(gboolean)
+def arg_info_is_optional(info)
+</code></synopsis>
+<p>Obtain if the argument is optional.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_return_value.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_return_value.page
index a98a3a6..e60f60b 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_return_value.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_return_value.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_is_return_value"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_is_return_value</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_is_return_value</title>
+  <title>arg_info_is_return_value</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(gboolean)
+def arg_info_is_return_value(info)
+</code></synopsis>
 <p>Obtain if the argument is a return value. It can either be a
-parameter or a return value.</p></page>
+parameter or a return value.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_skip.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_skip.page
index a455564..7eff23d 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_skip.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_is_skip.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_is_skip"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_is_skip</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_is_skip</title>
-<p>Obtain if an argument is only useful in C.</p></page>
+  <title>arg_info_is_skip</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(gboolean)
+def arg_info_is_skip(info)
+</code></synopsis>
+<p>Obtain if an argument is only useful in C.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_load_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_load_type.page
index 4dbf812..5596ffe 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_load_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_load_type.page
@@ -1,13 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_load_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>none</api:type>
+      </api:returns>
+      <api:name>g_arg_info_load_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_load_type</title>
+  <title>arg_info_load_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo, GIRepository.TypeInfo)
+ returns(none)
+def arg_info_load_type(info, type)
+</code></synopsis>
 <p>Obtain information about a the type of given argument @info; this
 function is a variant of g_arg_info_get_type() designed for stack
-allocation.</p><p>The initialized @type must not be referenced after @info is deallocated.</p></page>
+allocation.</p><p>The initialized @type must not be referenced after @info is deallocated.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_may_be_null.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_may_be_null.page
index ec2595c..71ac311 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_may_be_null.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.arg_info_may_be_null.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.arg_info_may_be_null"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_arg_info_may_be_null</api:name>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.arg_info_may_be_null</title>
-<p>Obtain if the argument accepts %NULL.</p></page>
+  <title>arg_info_may_be_null</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ArgInfo)
+ returns(gboolean)
+def arg_info_may_be_null(info)
+</code></synopsis>
+<p>Obtain if the argument accepts %NULL.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.base_info_get_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.base_info_get_type.page
index d217737..5a839ba 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.base_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.base_info_get_type.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.base_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.InfoType</api:type>
+      </api:returns>
+      <api:name>g_base_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.BaseInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.base_info_get_type</title>
-<p>Obtain the info type of the GIBaseInfo.</p></page>
+  <title>base_info_get_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.BaseInfo)
+ returns(GIRepository.InfoType)
+def base_info_get_type(info)
+</code></synopsis>
+<p>Obtain the info type of the GIBaseInfo.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_arg.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_arg.page
index eca50d1..5371590 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_arg.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_arg.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_arg"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ArgInfo</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_arg</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_get_arg</title>
-<p>Obtain information about a particular argument of this callable.</p><p>g_base_info_unref() when done.</p></page>
+  <title>callable_info_get_arg</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo, gint)
+ returns(GIRepository.ArgInfo)
+def callable_info_get_arg(info, n)
+</code></synopsis>
+<p>Obtain information about a particular argument of this callable.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_caller_owns.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_caller_owns.page
index 730c3ce..dc6d8fa 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_caller_owns.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_caller_owns.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_caller_owns"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.Transfer</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_caller_owns</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_get_caller_owns</title>
+  <title>callable_info_get_caller_owns</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo)
+ returns(GIRepository.Transfer)
+def callable_info_get_caller_owns(info)
+</code></synopsis>
 <p>See whether the caller owns the return value of this callable.
-<link xref="GITransfer">GITransfer</link> contains a list of possible transfer values.</p></page>
+<link xref="GITransfer">GITransfer</link> contains a list of possible transfer values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_n_args.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_n_args.page
index 1212d82..3da74c6 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_n_args.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_n_args.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_n_args"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_n_args</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_get_n_args</title>
-<p>Obtain the number of arguments (both IN and OUT) for this callable.</p></page>
+  <title>callable_info_get_n_args</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo)
+ returns(gint)
+def callable_info_get_n_args(info)
+</code></synopsis>
+<p>Obtain the number of arguments (both IN and OUT) for this callable.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_return_attribute.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_return_attribute.page
index 99d5139..51c0b39 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_return_attribute.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_return_attribute.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_return_attribute"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_return_attribute</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_get_return_attribute</title>
-<p>Retrieve an arbitrary attribute associated with the return value.</p></page>
+  <title>callable_info_get_return_attribute</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo, utf8)
+ returns(utf8)
+def callable_info_get_return_attribute(info, name)
+</code></synopsis>
+<p>Retrieve an arbitrary attribute associated with the return value.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_return_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_return_type.page
index 653aafa..06ec01a 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_return_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_get_return_type.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_get_return_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.TypeInfo</api:type>
+      </api:returns>
+      <api:name>g_callable_info_get_return_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_get_return_type</title>
-<p>Obtain the return type of a callable item as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p></page>
+  <title>callable_info_get_return_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo)
+ returns(GIRepository.TypeInfo)
+def callable_info_get_return_type(info)
+</code></synopsis>
+<p>Obtain the return type of a callable item as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_iterate_return_attributes.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_iterate_return_attributes.page
index 90c923a..18903c0 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_iterate_return_attributes.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_iterate_return_attributes.page
@@ -1,15 +1,45 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_iterate_return_attributes"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_callable_info_iterate_return_attributes</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.AttributeIter</api:type>
+        <api:name>iterator</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_iterate_return_attributes</title>
+  <title>callable_info_iterate_return_attributes</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo, GIRepository.AttributeIter, utf8, utf8)
+ returns(gboolean)
+def callable_info_iterate_return_attributes(info, iterator, name, value)
+</code></synopsis>
 <p>Iterate over all attributes associated with the return value.  The
 iterator structure is typically stack allocated, and must have its
 first member initialized to %NULL.</p><p>Both the @name and @value should be treated as constants
 and must not be freed.</p><p>See g_base_info_iterate_attributes() for an example of how to use a
-similar API.</p></page>
+similar API.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_load_arg.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_load_arg.page
index 28e7258..5b3c6e4 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_load_arg.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_load_arg.page
@@ -1,13 +1,39 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_load_arg"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>none</api:type>
+      </api:returns>
+      <api:name>g_callable_info_load_arg</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.ArgInfo</api:type>
+        <api:name>arg</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_load_arg</title>
+  <title>callable_info_load_arg</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo, gint, GIRepository.ArgInfo)
+ returns(none)
+def callable_info_load_arg(info, n, arg)
+</code></synopsis>
 <p>Obtain information about a particular argument of this callable; this
 function is a variant of g_callable_info_get_arg() designed for stack
-allocation.</p><p>The initialized @arg must not be referenced after @info is deallocated.</p></page>
+allocation.</p><p>The initialized @arg must not be referenced after @info is deallocated.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_load_return_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_load_return_type.page
index 5176c82..ff03f75 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_load_return_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_load_return_type.page
@@ -1,13 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_load_return_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>none</api:type>
+      </api:returns>
+      <api:name>g_callable_info_load_return_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_load_return_type</title>
+  <title>callable_info_load_return_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo, GIRepository.TypeInfo)
+ returns(none)
+def callable_info_load_return_type(info, type)
+</code></synopsis>
 <p>Obtain information about a return value of callable; this
 function is a variant of g_callable_info_get_return_type() designed for stack
-allocation.</p><p>The initialized @type must not be referenced after @info is deallocated.</p></page>
+allocation.</p><p>The initialized @type must not be referenced after @info is deallocated.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_may_return_null.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_may_return_null.page
index e052363..c27fcbc 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_may_return_null.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_may_return_null.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_may_return_null"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_callable_info_may_return_null</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_may_return_null</title>
-<p>See if a callable could return %NULL.</p></page>
+  <title>callable_info_may_return_null</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo)
+ returns(gboolean)
+def callable_info_may_return_null(info)
+</code></synopsis>
+<p>See if a callable could return %NULL.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_skip_return.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_skip_return.page
index 05a7ea1..e1d4616 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_skip_return.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.callable_info_skip_return.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.callable_info_skip_return"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_callable_info_skip_return</api:name>
+      <api:arg>
+        <api:type>GIRepository.CallableInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.callable_info_skip_return</title>
-<p>See if a callable's return value is only useful in C.</p></page>
+  <title>callable_info_skip_return</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.CallableInfo)
+ returns(gboolean)
+def callable_info_skip_return(info)
+</code></synopsis>
+<p>See if a callable's return value is only useful in C.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_free_value.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_free_value.page
new file mode 100644
index 0000000..a2d38a3
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_free_value.page
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.constant_info_free_value"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>none</api:type>
+      </api:returns>
+      <api:name>g_constant_info_free_value</api:name>
+      <api:arg>
+        <api:type>GIRepository.ConstantInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>constant_info_free_value</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ConstantInfo, None)
+ returns(none)
+def constant_info_free_value(info, value)
+</code></synopsis>
+<p>Free the value returned from g_constant_info_get_value().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_get_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_get_type.page
index 189e57c..679cf54 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_get_type.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.constant_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.TypeInfo</api:type>
+      </api:returns>
+      <api:name>g_constant_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.ConstantInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.constant_info_get_type</title>
-<p>Obtain the type of the constant as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p></page>
+  <title>constant_info_get_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ConstantInfo)
+ returns(GIRepository.TypeInfo)
+def constant_info_get_type(info)
+</code></synopsis>
+<p>Obtain the type of the constant as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_get_value.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_get_value.page
index a47181a..0bcb743 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_get_value.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.constant_info_get_value.page
@@ -1,13 +1,36 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.constant_info_get_value"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_constant_info_get_value</api:name>
+      <api:arg>
+        <api:type>GIRepository.ConstantInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.constant_info_get_value</title>
+  <title>constant_info_get_value</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ConstantInfo, None)
+ returns(gint)
+def constant_info_get_value(info, value)
+</code></synopsis>
 <p>Obtain the value associated with the <link xref="GIConstantInfo">GIConstantInfo</link> and store it in the
 @value parameter. @argument needs to be allocated before passing it in.
-The size of the constant value stored in @argument will be returned.</p></page>
+The size of the constant value stored in @argument will be returned.
+Free the value with g_constant_info_free_value().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_error_domain.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_error_domain.page
index 1aa26b4..0b0cb90 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_error_domain.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_error_domain.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.enum_info_get_error_domain"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_error_domain</api:name>
+      <api:arg>
+        <api:type>GIRepository.EnumInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.enum_info_get_error_domain</title>
+  <title>enum_info_get_error_domain</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.EnumInfo)
+ returns(utf8)
+def enum_info_get_error_domain(info)
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_method.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_method.page
new file mode 100644
index 0000000..99b5ec9
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_method.page
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.enum_info_get_method"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIRepository.EnumInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>enum_info_get_method</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.EnumInfo, gint)
+ returns(GIRepository.FunctionInfo)
+def enum_info_get_method(info, n)
+</code></synopsis>
+<p>Obtain an enum type method at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_n_methods.page
new file mode 100644
index 0000000..d066396
--- /dev/null
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_n_methods.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<page id="GIRepository.enum_info_get_n_methods"
+      type="topic"
+      style="function"
+      xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
+      xmlns:ui="http://projectmallard.org/experimental/ui/";>
+  <info>
+    <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIRepository.EnumInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
+  </info>
+  <title>enum_info_get_n_methods</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.EnumInfo)
+ returns(gint)
+def enum_info_get_n_methods(info)
+</code></synopsis>
+<p>Obtain the number of methods that this enum type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_n_values.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_n_values.page
index 3fdbc5d..dade650 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_n_values.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_n_values.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.enum_info_get_n_values"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_n_values</api:name>
+      <api:arg>
+        <api:type>GIRepository.EnumInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.enum_info_get_n_values</title>
+  <title>enum_info_get_n_values</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.EnumInfo)
+ returns(gint)
+def enum_info_get_n_values(info)
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_storage_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_storage_type.page
index 6d827b8..e82eabe 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_storage_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_storage_type.page
@@ -1,15 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.enum_info_get_storage_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.TypeTag</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_storage_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.EnumInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.enum_info_get_storage_type</title>
+  <title>enum_info_get_storage_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.EnumInfo)
+ returns(GIRepository.TypeTag)
+def enum_info_get_storage_type(info)
+</code></synopsis>
 <p>Obtain the tag of the type used for the enum in the C ABI. This will
 will be a signed or unsigned integral type.
 Note that in the current implementation the width of the type is
 computed correctly, but the signed or unsigned nature of the type
-may not match the sign of the type used by the C compiler.</p></page>
+may not match the sign of the type used by the C compiler.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_value.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_value.page
index bcb571e..bf413e4 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_value.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.enum_info_get_value.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.enum_info_get_value"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ValueInfo</api:type>
+      </api:returns>
+      <api:name>g_enum_info_get_value</api:name>
+      <api:arg>
+        <api:type>GIRepository.EnumInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.enum_info_get_value</title>
-<p>Obtain a value for this enumeration.</p><p>free the struct with g_base_info_unref() when done.</p></page>
+  <title>enum_info_get_value</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.EnumInfo, gint)
+ returns(GIRepository.ValueInfo)
+def enum_info_get_value(info, n)
+</code></synopsis>
+<p>Obtain a value for this enumeration.</p><p>free the struct with g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_field.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_field.page
index e824aa2..ad2e3e8 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_field.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_field.page
@@ -1,14 +1,40 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_field</api:name>
+      <api:arg>
+        <api:type>GIRepository.FieldInfo</api:type>
+        <api:name>field_info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gpointer</api:type>
+        <api:name>mem</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.field_info_get_field</title>
+  <title>field_info_get_field</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FieldInfo, gpointer, None)
+ returns(gboolean)
+def field_info_get_field(field_info, mem, value)
+</code></synopsis>
 <p>Reads a field identified by a <link xref="GFieldInfo">GFieldInfo</link> from a C structure or
 union.  This only handles fields of simple C types. It will fail
 for a field of a composite type like a nested structure or union
-even if that is actually readable.</p></page>
+even if that is actually readable.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_flags.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_flags.page
index 88ceae7..496ff0e 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_flags.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FieldInfoFlags</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GIRepository.FieldInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.field_info_get_flags</title>
+  <title>field_info_get_flags</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FieldInfo)
+ returns(GIRepository.FieldInfoFlags)
+def field_info_get_flags(info)
+</code></synopsis>
 <p>Obtain the flags for this <link xref="GIFieldInfo">GIFieldInfo</link>. See <link xref="GIFieldInfoFlags">GIFieldInfoFlags</link> for possible
-flag values.</p></page>
+flag values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_offset.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_offset.page
index e7fe196..9c83f42 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_offset.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_offset.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_offset"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_offset</api:name>
+      <api:arg>
+        <api:type>GIRepository.FieldInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.field_info_get_offset</title>
+  <title>field_info_get_offset</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FieldInfo)
+ returns(gint)
+def field_info_get_offset(info)
+</code></synopsis>
 <p>Obtain the offset in bits of the field member, this is relative
-to the beginning of the struct or union.</p></page>
+to the beginning of the struct or union.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_size.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_size.page
index 0561b65..69c195c 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_size.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_size.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_size"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_size</api:name>
+      <api:arg>
+        <api:type>GIRepository.FieldInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.field_info_get_size</title>
+  <title>field_info_get_size</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FieldInfo)
+ returns(gint)
+def field_info_get_size(info)
+</code></synopsis>
 <p>Obtain the size in bits of the field member, this is how
-much space you need to allocate to store the field.</p></page>
+much space you need to allocate to store the field.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_type.page
index eca2798..ec2d709 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_get_type.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.TypeInfo</api:type>
+      </api:returns>
+      <api:name>g_field_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.FieldInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.field_info_get_type</title>
-<p>Obtain the type of a field as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p></page>
+  <title>field_info_get_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FieldInfo)
+ returns(GIRepository.TypeInfo)
+def field_info_get_type(info)
+</code></synopsis>
+<p>Obtain the type of a field as a <link xref="GITypeInfo">GITypeInfo</link>.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_set_field.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_set_field.page
index ddee9b3..c8b97f6 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_set_field.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.field_info_set_field.page
@@ -1,16 +1,42 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.field_info_set_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_field_info_set_field</api:name>
+      <api:arg>
+        <api:type>GIRepository.FieldInfo</api:type>
+        <api:name>field_info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gpointer</api:type>
+        <api:name>mem</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>value</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.field_info_set_field</title>
+  <title>field_info_set_field</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FieldInfo, gpointer, None)
+ returns(gboolean)
+def field_info_set_field(field_info, mem, value)
+</code></synopsis>
 <p>Writes a field identified by a <link xref="GFieldInfo">GFieldInfo</link> to a C structure or
 union.  This only handles fields of simple C types. It will fail
 for a field of a composite type like a nested structure or union
 even if that is actually writable. Note also that that it will refuse
 to write fields where memory management would by required. A field
-with a type such as 'char *' must be set with a setter function.</p></page>
+with a type such as 'char *' must be set with a setter function.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_flags.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_flags.page
index 5d210e8..b8aeb30 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_flags.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfoFlags</api:type>
+      </api:returns>
+      <api:name>g_function_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GIRepository.FunctionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.function_info_get_flags</title>
-<p>Obtain the <link xref="GIFunctionInfoFlags">GIFunctionInfoFlags</link> for the @info.</p></page>
+  <title>function_info_get_flags</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FunctionInfo)
+ returns(GIRepository.FunctionInfoFlags)
+def function_info_get_flags(info)
+</code></synopsis>
+<p>Obtain the <link xref="GIFunctionInfoFlags">GIFunctionInfoFlags</link> for the @info.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_property.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_property.page
index 2a7da64..a4e49a8 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_property.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_property.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_get_property"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.PropertyInfo</api:type>
+      </api:returns>
+      <api:name>g_function_info_get_property</api:name>
+      <api:arg>
+        <api:type>GIRepository.FunctionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.function_info_get_property</title>
+  <title>function_info_get_property</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FunctionInfo)
+ returns(GIRepository.PropertyInfo)
+def function_info_get_property(info)
+</code></synopsis>
 <p>Obtain the property associated with this <link xref="GIFunctionInfo">GIFunctionInfo</link>.
 Only <link xref="GIFunctionInfo">GIFunctionInfo</link> with the flag %GI_FUNCTION_IS_GETTER or
 %GI_FUNCTION_IS_SETTER have a property set. For other cases,
-%NULL will be returned.</p><p>g_base_info_unref() when done.</p></page>
+%NULL will be returned.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_symbol.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_symbol.page
index 8ec516c..16ff0b9 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_symbol.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_symbol.page
@@ -1,13 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_get_symbol"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_function_info_get_symbol</api:name>
+      <api:arg>
+        <api:type>GIRepository.FunctionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.function_info_get_symbol</title>
+  <title>function_info_get_symbol</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FunctionInfo)
+ returns(utf8)
+def function_info_get_symbol(info)
+</code></synopsis>
 <p>Obtain the symbol of the function. The symbol is the name of the
 exported function, suitable to be used as an argument to
-g_module_symbol().</p></page>
+g_module_symbol().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_vfunc.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_vfunc.page
index 2380c62..ee5761d 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_get_vfunc.page
@@ -1,13 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_get_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.VFuncInfo</api:type>
+      </api:returns>
+      <api:name>g_function_info_get_vfunc</api:name>
+      <api:arg>
+        <api:type>GIRepository.FunctionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.function_info_get_vfunc</title>
+  <title>function_info_get_vfunc</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FunctionInfo)
+ returns(GIRepository.VFuncInfo)
+def function_info_get_vfunc(info)
+</code></synopsis>
 <p>Obtain the virtual function associated with this <link xref="GIFunctionInfo">GIFunctionInfo</link>.
 Only <link xref="GIFunctionInfo">GIFunctionInfo</link> with the flag %GI_FUNCTION_WRAPS_VFUNC has
-a virtual function set. For other cases, %NULL will be returned.</p><p>Free it by calling g_base_info_unref() when done.</p></page>
+a virtual function set. For other cases, %NULL will be returned.</p><p>Free it by calling g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_invoke.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_invoke.page
index 8aedc49..86ebc99 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_invoke.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.function_info_invoke.page
@@ -1,16 +1,54 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.function_info_invoke"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_function_info_invoke</api:name>
+      <api:arg>
+        <api:type>GIRepository.FunctionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>in_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n_in_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>out_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n_out_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>return_value</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.function_info_invoke</title>
+  <title>function_info_invoke</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.FunctionInfo, None, gint, None, gint, None)
+ returns(gboolean)
+def function_info_invoke(info, in_args, n_in_args, out_args, n_out_args, return_value)
+</code></synopsis>
 <p>Invokes the function described in @info with the given
 arguments. Note that inout parameters must appear in both
 argument lists. This function uses dlsym() to obtain a pointer
 to the function, so the library or shared object containing the
 described function must either be linked to the caller, or must
-have been g_module_symbol()&lt;!-- --&gt;ed before calling this function.</p><p>error occurred.</p></page>
+have been g_module_symbol()&lt;!-- --&gt;ed before calling this function.</p><p>error occurred.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.info_new.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.info_new.page
index f7c6167..f7c85cf 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.info_new.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.info_new.page
@@ -1,11 +1,41 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.info_new"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.BaseInfo</api:type>
+      </api:returns>
+      <api:name>g_info_new</api:name>
+      <api:arg>
+        <api:type>GIRepository.InfoType</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.BaseInfo</api:type>
+        <api:name>container</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.Typelib</api:type>
+        <api:name>typelib</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>guint32</api:type>
+        <api:name>offset</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.info_new</title>
+  <title>info_new</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InfoType, GIRepository.BaseInfo, GIRepository.Typelib, guint32)
+ returns(GIRepository.BaseInfo)
+def info_new(type, container, typelib, offset)
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.info_type_to_string.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.info_type_to_string.page
index c671368..3c2373c 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.info_type_to_string.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.info_type_to_string.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.info_type_to_string"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_info_type_to_string</api:name>
+      <api:arg>
+        <api:type>GIRepository.InfoType</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.info_type_to_string</title>
-<p>Obtain a string representation of @type</p></page>
+  <title>info_type_to_string</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InfoType)
+ returns(utf8)
+def info_type_to_string(type)
+</code></synopsis>
+<p>Obtain a string representation of @type</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_find_method.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_find_method.page
index 4f81134..7c14ac2 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_find_method.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_find_method.page
@@ -1,12 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_find_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_interface_info_find_method</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_find_method</title>
+  <title>interface_info_find_method</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo, utf8)
+ returns(GIRepository.FunctionInfo)
+def interface_info_find_method(info, name)
+</code></synopsis>
 <p>Obtain a method of the interface type given a @name. %NULL will be
-returned if there's no method available with that name.</p><p>Free the struct by calling g_base_info_unref() when done.</p></page>
+returned if there's no method available with that name.</p><p>Free the struct by calling g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_find_vfunc.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_find_vfunc.page
index b431977..2a3b2f4 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_find_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_find_vfunc.page
@@ -1,12 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_find_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.VFuncInfo</api:type>
+      </api:returns>
+      <api:name>g_interface_info_find_vfunc</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_find_vfunc</title>
+  <title>interface_info_find_vfunc</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo, utf8)
+ returns(GIRepository.VFuncInfo)
+def interface_info_find_vfunc(info, name)
+</code></synopsis>
 <p>Locate a virtual function slot with name @name. See the documentation
-for g_object_info_find_vfunc() for more information on virtuals.</p><p>g_base_info_unref() when done.</p></page>
+for g_object_info_find_vfunc() for more information on virtuals.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_constant.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_constant.page
index 2346fde..778cbbb 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_constant.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_constant.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_constant"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ConstantInfo</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_constant</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_constant</title>
-<p>Obtain an interface type constant at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>interface_info_get_constant</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo, gint)
+ returns(GIRepository.ConstantInfo)
+def interface_info_get_constant(info, n)
+</code></synopsis>
+<p>Obtain an interface type constant at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_iface_struct.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_iface_struct.page
index d1d93f1..9564fd5 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_iface_struct.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_iface_struct.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_iface_struct"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.StructInfo</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_iface_struct</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_iface_struct</title>
-<p>Returns the layout C structure associated with this <link xref="GInterface">GInterface</link>.</p><p>g_base_info_unref() when done.</p></page>
+  <title>interface_info_get_iface_struct</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo)
+ returns(GIRepository.StructInfo)
+def interface_info_get_iface_struct(info)
+</code></synopsis>
+<p>Returns the layout C structure associated with this <link xref="GInterface">GInterface</link>.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_method.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_method.page
index bd43e4f..4a855d8 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_method.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_method.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_method</title>
-<p>Obtain an interface type method at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>interface_info_get_method</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo, gint)
+ returns(GIRepository.FunctionInfo)
+def interface_info_get_method(info, n)
+</code></synopsis>
+<p>Obtain an interface type method at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_constants.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_constants.page
index 2e20aaf..f3c5317 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_constants.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_constants.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_constants"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_constants</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_n_constants</title>
-<p>Obtain the number of constants that this interface type has.</p></page>
+  <title>interface_info_get_n_constants</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo)
+ returns(gint)
+def interface_info_get_n_constants(info)
+</code></synopsis>
+<p>Obtain the number of constants that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_methods.page
index a2769ae..f759d18 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_methods.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_methods.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_methods"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_n_methods</title>
-<p>Obtain the number of methods that this interface type has.</p></page>
+  <title>interface_info_get_n_methods</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo)
+ returns(gint)
+def interface_info_get_n_methods(info)
+</code></synopsis>
+<p>Obtain the number of methods that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_prerequisites.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_prerequisites.page
index a356a15..e4046bb 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_prerequisites.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_prerequisites.page
@@ -1,13 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_prerequisites"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_prerequisites</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_n_prerequisites</title>
+  <title>interface_info_get_n_prerequisites</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo)
+ returns(gint)
+def interface_info_get_n_prerequisites(info)
+</code></synopsis>
 <p>Obtain the number of prerequisites for this interface type.
 A prerequisites is another interface that needs to be implemented for
-interface, similar to an base class for GObjects.</p></page>
+interface, similar to an base class for GObjects.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_properties.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_properties.page
index 2db72af..3a1f92e 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_properties.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_properties.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_properties"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_properties</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_n_properties</title>
-<p>Obtain the number of properties that this interface type has.</p></page>
+  <title>interface_info_get_n_properties</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo)
+ returns(gint)
+def interface_info_get_n_properties(info)
+</code></synopsis>
+<p>Obtain the number of properties that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_signals.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_signals.page
index 1b66f95..2a34b15 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_signals.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_signals.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_signals"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_signals</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_n_signals</title>
-<p>Obtain the number of signals that this interface type has.</p></page>
+  <title>interface_info_get_n_signals</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo)
+ returns(gint)
+def interface_info_get_n_signals(info)
+</code></synopsis>
+<p>Obtain the number of signals that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_vfuncs.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_vfuncs.page
index 12564d7..f3b39ca 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_vfuncs.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_n_vfuncs.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_n_vfuncs"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_n_vfuncs</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_n_vfuncs</title>
-<p>Obtain the number of virtual functions that this interface type has.</p></page>
+  <title>interface_info_get_n_vfuncs</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo)
+ returns(gint)
+def interface_info_get_n_vfuncs(info)
+</code></synopsis>
+<p>Obtain the number of virtual functions that this interface type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_prerequisite.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_prerequisite.page
index 53fb1c1..48a3afd 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_prerequisite.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_prerequisite.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_prerequisite"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.BaseInfo</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_prerequisite</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_prerequisite</title>
-<p>Obtain an interface type prerequisites index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>interface_info_get_prerequisite</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo, gint)
+ returns(GIRepository.BaseInfo)
+def interface_info_get_prerequisite(info, n)
+</code></synopsis>
+<p>Obtain an interface type prerequisites index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_property.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_property.page
index 81ba56b..e65038e 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_property.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_property.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_property"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.PropertyInfo</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_property</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_property</title>
-<p>Obtain an interface type property at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>interface_info_get_property</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo, gint)
+ returns(GIRepository.PropertyInfo)
+def interface_info_get_property(info, n)
+</code></synopsis>
+<p>Obtain an interface type property at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_signal.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_signal.page
index 08e6b25..7fd1e83 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_signal.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_signal.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_signal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.SignalInfo</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_signal</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_signal</title>
-<p>Obtain an interface type signal at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>interface_info_get_signal</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo, gint)
+ returns(GIRepository.SignalInfo)
+def interface_info_get_signal(info, n)
+</code></synopsis>
+<p>Obtain an interface type signal at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_vfunc.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_vfunc.page
index 1ad94ab..db127ab 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.interface_info_get_vfunc.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.interface_info_get_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.VFuncInfo</api:type>
+      </api:returns>
+      <api:name>g_interface_info_get_vfunc</api:name>
+      <api:arg>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.interface_info_get_vfunc</title>
-<p>Obtain an interface type virtual function at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>interface_info_get_vfunc</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.InterfaceInfo, gint)
+ returns(GIRepository.VFuncInfo)
+def interface_info_get_vfunc(info, n)
+</code></synopsis>
+<p>Obtain an interface type virtual function at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.invoke_error_quark.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.invoke_error_quark.page
index f7b9ba0..0aef28d 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.invoke_error_quark.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.invoke_error_quark.page
@@ -1,11 +1,24 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.invoke_error_quark"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GLib.Quark</api:type>
+      </api:returns>
+      <api:name>g_invoke_error_quark</api:name>
+    </api:function>
   </info>
-  <title>GIRepository.invoke_error_quark</title>
+  <title>invoke_error_quark</title>
+<synopsis><code mime="text/x-python">
+ returns(GLib.Quark)
+def invoke_error_quark()
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.nvokeError.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.nvokeError.page
index e71aca5..3b3fec4 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.nvokeError.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.nvokeError.page
@@ -8,4 +8,5 @@
   </info>
   <title>GIRepository.nvokeError</title>
 <p>An error occuring while invoking a function via
-g_function_info_invoke().</p></page>
+g_function_info_invoke().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_method.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_method.page
index b227493..51625a2 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_method.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_method.page
@@ -1,12 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_find_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_find_method</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_find_method</title>
+  <title>object_info_find_method</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, utf8)
+ returns(GIRepository.FunctionInfo)
+def object_info_find_method(info, name)
+</code></synopsis>
 <p>Obtain a method of the object type given a @name. %NULL will be
-returned if there's no method available with that name.</p><p>g_base_info_unref() when done.</p></page>
+returned if there's no method available with that name.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_method_using_interfaces.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_method_using_interfaces.page
index c112251..d3dca9f 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_method_using_interfaces.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_method_using_interfaces.page
@@ -1,14 +1,40 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_find_method_using_interfaces"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_find_method_using_interfaces</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>implementor</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_find_method_using_interfaces</title>
+  <title>object_info_find_method_using_interfaces</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, utf8, GIRepository.ObjectInfo)
+ returns(GIRepository.FunctionInfo)
+def object_info_find_method_using_interfaces(info, name, implementor)
+</code></synopsis>
 <p>Obtain a method of the object given a @name, searching both the
 object @info and any interfaces it implements.  %NULL will be
 returned if there's no method available with that name.</p><p>Note that this function does *not* search parent classes; you will have
-to chain up if that's desired.</p><p>g_base_info_unref() when done.</p></page>
+to chain up if that's desired.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_signal.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_signal.page
index 89a8e1a..192e2ef 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_signal.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_signal.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_find_signal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.SignalInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_find_signal</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_find_signal</title>
+  <title>object_info_find_signal</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, utf8)
+ returns(GIRepository.SignalInfo)
+def object_info_find_signal(info, name)
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_vfunc.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_vfunc.page
index e041085..6777687 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_find_vfunc.page
@@ -1,17 +1,39 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_find_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.VFuncInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_find_vfunc</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_find_vfunc</title>
+  <title>object_info_find_vfunc</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, utf8)
+ returns(GIRepository.VFuncInfo)
+def object_info_find_vfunc(info, name)
+</code></synopsis>
 <p>Locate a virtual function slot with name @name. Note that the namespace
 for virtuals is distinct from that of methods; there may or may not be
 a concrete method associated for a virtual. If there is one, it may
 be retrieved using g_vfunc_info_get_invoker(), otherwise %NULL will be
 returned.
 See the documentation for g_vfunc_info_get_invoker() for more
-information on invoking virtuals.</p><p>g_base_info_unref() when done.</p></page>
+information on invoking virtuals.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_abstract.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_abstract.page
index 620ce4e..065c388 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_abstract.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_abstract.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_abstract"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_abstract</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_abstract</title>
+  <title>object_info_get_abstract</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(gboolean)
+def object_info_get_abstract(info)
+</code></synopsis>
 <p>Obtain if the object type is an abstract type, eg if it cannot be
-instantiated</p></page>
+instantiated</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_class_struct.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_class_struct.page
index a4f8d78..f102490 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_class_struct.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_class_struct.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_class_struct"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.StructInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_class_struct</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_class_struct</title>
+  <title>object_info_get_class_struct</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(GIRepository.StructInfo)
+def object_info_get_class_struct(info)
+</code></synopsis>
 <p>Every <link xref="GObject">GObject</link> has two structures; an instance structure and a class
-structure.  This function returns the metadata for the class structure.</p><p>g_base_info_unref() when done.</p></page>
+structure.  This function returns the metadata for the class structure.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_constant.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_constant.page
index 23e9627..ca6cccc 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_constant.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_constant.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_constant"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ConstantInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_constant</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_constant</title>
-<p>Obtain an object type constant at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>object_info_get_constant</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, gint)
+ returns(GIRepository.ConstantInfo)
+def object_info_get_constant(info, n)
+</code></synopsis>
+<p>Obtain an object type constant at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_field.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_field.page
index 0262989..e0f7f33 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_field.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_field.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FieldInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_field</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_field</title>
-<p>Obtain an object type field at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>object_info_get_field</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, gint)
+ returns(GIRepository.FieldInfo)
+def object_info_get_field(info, n)
+</code></synopsis>
+<p>Obtain an object type field at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_fundamental.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_fundamental.page
index 746f7dc..dabc223 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_fundamental.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_fundamental.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_fundamental"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_fundamental</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_fundamental</title>
+  <title>object_info_get_fundamental</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(gboolean)
+def object_info_get_fundamental(info)
+</code></synopsis>
 <p>Obtain if the object type is of a fundamental type which is not
-G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.</p></page>
+G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_get_value_function.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_get_value_function.page
index 72cdad8..cca3674 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_get_value_function.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_get_value_function.page
@@ -1,15 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_get_value_function"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_get_value_function</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_get_value_function</title>
+  <title>object_info_get_get_value_function</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(utf8)
+def object_info_get_get_value_function(info)
+</code></synopsis>
 <p>Obtain the symbol name of the function that should be called to convert
 an object instance pointer of this object type to a GValue.
 I's mainly used fundamental types. The type signature for the symbol
 is %GIObjectInfoGetValueFunction, to fetch the function pointer
-see g_object_info_get_get_value_function().</p></page>
+see g_object_info_get_get_value_function().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_get_value_function_pointer.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_get_value_function_pointer.page
index e464cd6..26f1fa2 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_get_value_function_pointer.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_get_value_function_pointer.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_get_value_function_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ObjectInfoGetValueFunction</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_get_value_function_pointer</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_get_value_function_pointer</title>
+  <title>object_info_get_get_value_function_pointer</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(GIRepository.ObjectInfoGetValueFunction)
+def object_info_get_get_value_function_pointer(info)
+</code></synopsis>
 <p>Obtain a pointer to a function which can be used to
 extract an instance of this object type out of a GValue.
 This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.</p></page>
+the base classes of this type, starting at the top type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_interface.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_interface.page
index 5f337a0..4405954 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_interface.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_interface.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_interface"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.InterfaceInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_interface</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_interface</title>
-<p>Obtain an object type interface at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>object_info_get_interface</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, gint)
+ returns(GIRepository.InterfaceInfo)
+def object_info_get_interface(info, n)
+</code></synopsis>
+<p>Obtain an object type interface at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_method.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_method.page
index db6a2cb..61c24fc 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_method.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_method.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_method</title>
-<p>Obtain an object type method at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>object_info_get_method</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, gint)
+ returns(GIRepository.FunctionInfo)
+def object_info_get_method(info, n)
+</code></synopsis>
+<p>Obtain an object type method at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_constants.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_constants.page
index 970ea9d..e2119ce 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_constants.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_constants.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_constants"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_constants</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_n_constants</title>
-<p>Obtain the number of constants that this object type has.</p></page>
+  <title>object_info_get_n_constants</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(gint)
+def object_info_get_n_constants(info)
+</code></synopsis>
+<p>Obtain the number of constants that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_fields.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_fields.page
index 87d5467..e10d335 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_fields.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_fields.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_fields"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_fields</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_n_fields</title>
-<p>Obtain the number of fields that this object type has.</p></page>
+  <title>object_info_get_n_fields</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(gint)
+def object_info_get_n_fields(info)
+</code></synopsis>
+<p>Obtain the number of fields that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_interfaces.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_interfaces.page
index dc5c351..c977c6d 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_interfaces.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_interfaces.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_interfaces"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_interfaces</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_n_interfaces</title>
-<p>Obtain the number of interfaces that this object type has.</p></page>
+  <title>object_info_get_n_interfaces</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(gint)
+def object_info_get_n_interfaces(info)
+</code></synopsis>
+<p>Obtain the number of interfaces that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_methods.page
index 5e92761..172ec77 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_methods.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_methods.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_methods"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_n_methods</title>
-<p>Obtain the number of methods that this object type has.</p></page>
+  <title>object_info_get_n_methods</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(gint)
+def object_info_get_n_methods(info)
+</code></synopsis>
+<p>Obtain the number of methods that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_properties.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_properties.page
index 872d757..7a7f707 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_properties.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_properties.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_properties"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_properties</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_n_properties</title>
-<p>Obtain the number of properties that this object type has.</p></page>
+  <title>object_info_get_n_properties</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(gint)
+def object_info_get_n_properties(info)
+</code></synopsis>
+<p>Obtain the number of properties that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_signals.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_signals.page
index 6f90d21..1c89d19 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_signals.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_signals.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_signals"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_signals</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_n_signals</title>
-<p>Obtain the number of signals that this object type has.</p></page>
+  <title>object_info_get_n_signals</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(gint)
+def object_info_get_n_signals(info)
+</code></synopsis>
+<p>Obtain the number of signals that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_vfuncs.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_vfuncs.page
index d6a954a..f5c9429 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_vfuncs.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_n_vfuncs.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_n_vfuncs"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_n_vfuncs</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_n_vfuncs</title>
-<p>Obtain the number of virtual functions that this object type has.</p></page>
+  <title>object_info_get_n_vfuncs</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(gint)
+def object_info_get_n_vfuncs(info)
+</code></synopsis>
+<p>Obtain the number of virtual functions that this object type has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_parent.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_parent.page
index 6c16b66..d9f56a5 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_parent.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_parent.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_parent"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ObjectInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_parent</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_parent</title>
-<p>Obtain the parent of the object type.</p><p>g_base_info_unref() when done.</p></page>
+  <title>object_info_get_parent</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(GIRepository.ObjectInfo)
+def object_info_get_parent(info)
+</code></synopsis>
+<p>Obtain the parent of the object type.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_property.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_property.page
index 96ca5f7..90b1617 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_property.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_property.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_property"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.PropertyInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_property</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_property</title>
-<p>Obtain an object type property at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>object_info_get_property</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, gint)
+ returns(GIRepository.PropertyInfo)
+def object_info_get_property(info, n)
+</code></synopsis>
+<p>Obtain an object type property at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_ref_function.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_ref_function.page
index 1c795d1..aefdaf2 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_ref_function.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_ref_function.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_ref_function"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_ref_function</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_ref_function</title>
+  <title>object_info_get_ref_function</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(utf8)
+def object_info_get_ref_function(info)
+</code></synopsis>
 <p>Obtain the symbol name of the function that should be called to ref this
 object type. It's mainly used fundamental types. The type signature for
 the symbol is %GIObjectInfoRefFunction, to fetch the function pointer
-see g_object_info_get_ref_function().</p></page>
+see g_object_info_get_ref_function().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_ref_function_pointer.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_ref_function_pointer.page
index f99782a..72f9742 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_ref_function_pointer.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_ref_function_pointer.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_ref_function_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ObjectInfoRefFunction</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_ref_function_pointer</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_ref_function_pointer</title>
+  <title>object_info_get_ref_function_pointer</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(GIRepository.ObjectInfoRefFunction)
+def object_info_get_ref_function_pointer(info)
+</code></synopsis>
 <p>Obtain a pointer to a function which can be used to
 increase the reference count an instance of this object type.
 This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.</p></page>
+the base classes of this type, starting at the top type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_set_value_function.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_set_value_function.page
index d37bf2d..ccfbc29 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_set_value_function.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_set_value_function.page
@@ -1,15 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_set_value_function"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_set_value_function</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_set_value_function</title>
+  <title>object_info_get_set_value_function</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(utf8)
+def object_info_get_set_value_function(info)
+</code></synopsis>
 <p>Obtain the symbol name of the function that should be called to convert
 set a GValue giving an object instance pointer of this object type.
 I's mainly used fundamental types. The type signature for the symbol
 is %GIObjectInfoSetValueFunction, to fetch the function pointer
-see g_object_info_get_set_value_function().</p></page>
+see g_object_info_get_set_value_function().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_set_value_function_pointer.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_set_value_function_pointer.page
index 1141c31..f76f99f 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_set_value_function_pointer.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_set_value_function_pointer.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_set_value_function_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ObjectInfoSetValueFunction</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_set_value_function_pointer</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_set_value_function_pointer</title>
+  <title>object_info_get_set_value_function_pointer</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(GIRepository.ObjectInfoSetValueFunction)
+def object_info_get_set_value_function_pointer(info)
+</code></synopsis>
 <p>Obtain a pointer to a function which can be used to
 set a GValue given an instance of this object type.
 This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.</p></page>
+the base classes of this type, starting at the top type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_signal.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_signal.page
index 90ba5f6..a6c5ad8 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_signal.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_signal.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_signal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.SignalInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_signal</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_signal</title>
-<p>Obtain an object type signal at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>object_info_get_signal</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, gint)
+ returns(GIRepository.SignalInfo)
+def object_info_get_signal(info, n)
+</code></synopsis>
+<p>Obtain an object type signal at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_type_init.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_type_init.page
index dc6fa95..cb31029 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_type_init.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_type_init.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_type_init"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_type_init</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_type_init</title>
+  <title>object_info_get_type_init</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(utf8)
+def object_info_get_type_init(info)
+</code></synopsis>
 <p>Obtain the function which when called will return the GType
-function for which this object type is registered.</p></page>
+function for which this object type is registered.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_type_name.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_type_name.page
index bff23d2..e017888 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_type_name.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_type_name.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_type_name"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_type_name</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_type_name</title>
-<p>Obtain the name of the objects class/type.</p></page>
+  <title>object_info_get_type_name</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(utf8)
+def object_info_get_type_name(info)
+</code></synopsis>
+<p>Obtain the name of the objects class/type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_unref_function.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_unref_function.page
index 1829c34..c5f94e7 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_unref_function.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_unref_function.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_unref_function"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_unref_function</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_unref_function</title>
+  <title>object_info_get_unref_function</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(utf8)
+def object_info_get_unref_function(info)
+</code></synopsis>
 <p>Obtain the symbol name of the function that should be called to unref this
 object type. It's mainly used fundamental types. The type signature for
 the symbol is %GIObjectInfoUnrefFunction, to fetch the function pointer
-see g_object_info_get_unref_function().</p></page>
+see g_object_info_get_unref_function().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_unref_function_pointer.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_unref_function_pointer.page
index 35811af..f08875b 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_unref_function_pointer.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_unref_function_pointer.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_unref_function_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ObjectInfoUnrefFunction</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_unref_function_pointer</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_unref_function_pointer</title>
+  <title>object_info_get_unref_function_pointer</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo)
+ returns(GIRepository.ObjectInfoUnrefFunction)
+def object_info_get_unref_function_pointer(info)
+</code></synopsis>
 <p>Obtain a pointer to a function which can be used to
 decrease the reference count an instance of this object type.
 This takes derivation into account and will reversely traverse
-the base classes of this type, starting at the top type.</p></page>
+the base classes of this type, starting at the top type.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_vfunc.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_vfunc.page
index a190fe1..01e4c72 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_vfunc.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.object_info_get_vfunc.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.object_info_get_vfunc"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.VFuncInfo</api:type>
+      </api:returns>
+      <api:name>g_object_info_get_vfunc</api:name>
+      <api:arg>
+        <api:type>GIRepository.ObjectInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.object_info_get_vfunc</title>
-<p>Obtain an object type virtual function at index @n.</p><p>g_base_info_unref() when done.</p></page>
+  <title>object_info_get_vfunc</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ObjectInfo, gint)
+ returns(GIRepository.VFuncInfo)
+def object_info_get_vfunc(info, n)
+</code></synopsis>
+<p>Obtain an object type virtual function at index @n.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_flags.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_flags.page
index 3ce24b0..10a62ea 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_flags.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.property_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GObject.ParamFlags</api:type>
+      </api:returns>
+      <api:name>g_property_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GIRepository.PropertyInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.property_info_get_flags</title>
+  <title>property_info_get_flags</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.PropertyInfo)
+ returns(GObject.ParamFlags)
+def property_info_get_flags(info)
+</code></synopsis>
 <p>Obtain the flags for this property info. See <link xref="GParamFags">GParamFags</link> for
-more information about possible flag values.</p></page>
+more information about possible flag values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_ownership_transfer.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_ownership_transfer.page
index a4ff311..1ffbbb1 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_ownership_transfer.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_ownership_transfer.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.property_info_get_ownership_transfer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.Transfer</api:type>
+      </api:returns>
+      <api:name>g_property_info_get_ownership_transfer</api:name>
+      <api:arg>
+        <api:type>GIRepository.PropertyInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.property_info_get_ownership_transfer</title>
+  <title>property_info_get_ownership_transfer</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.PropertyInfo)
+ returns(GIRepository.Transfer)
+def property_info_get_ownership_transfer(info)
+</code></synopsis>
 <p>Obtain the ownership transfer for this property. See <link xref="GITransfer">GITransfer</link> for more
-information about transfer values.</p></page>
+information about transfer values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_type.page
index 73d57a7..e067321 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.property_info_get_type.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.property_info_get_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.TypeInfo</api:type>
+      </api:returns>
+      <api:name>g_property_info_get_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.PropertyInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.property_info_get_type</title>
-<p>Obtain the type information for the property @info.</p><p>g_base_info_unref() when done.</p></page>
+  <title>property_info_get_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.PropertyInfo)
+ returns(GIRepository.TypeInfo)
+def property_info_get_type(info)
+</code></synopsis>
+<p>Obtain the type information for the property @info.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_g_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_g_type.page
index a2871e0..8d561a6 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_g_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_g_type.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.registered_type_info_get_g_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GType</api:type>
+      </api:returns>
+      <api:name>g_registered_type_info_get_g_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.RegisteredTypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.registered_type_info_get_g_type</title>
+  <title>registered_type_info_get_g_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.RegisteredTypeInfo)
+ returns(GType)
+def registered_type_info_get_g_type(info)
+</code></synopsis>
 <p>Obtain the <link xref="GType">GType</link> for this registered type or G_TYPE_NONE which a special meaning.
 It means that either there is no type information associated with this @info or
 that the shared library which provides the type_init function for this
- info cannot be called.</p></page>
+ info cannot be called.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_type_init.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_type_init.page
index 805d7c2..bcb33a1 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_type_init.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_type_init.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.registered_type_info_get_type_init"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_registered_type_info_get_type_init</api:name>
+      <api:arg>
+        <api:type>GIRepository.RegisteredTypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.registered_type_info_get_type_init</title>
+  <title>registered_type_info_get_type_init</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.RegisteredTypeInfo)
+ returns(utf8)
+def registered_type_info_get_type_init(info)
+</code></synopsis>
 <p>Obtain the type init function for @info. The type init function is the
 function which will register the GType within the GObject type system.
 Usually this is not called by langauge bindings or applications, use
-g_registered_type_info_get_g_type() directly instead.</p><p>passing into g_module_symbol().</p></page>
+g_registered_type_info_get_g_type() directly instead.</p><p>passing into g_module_symbol().</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_type_name.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_type_name.page
index cf2e706..65e71f5 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_type_name.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.registered_type_info_get_type_name.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.registered_type_info_get_type_name"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_registered_type_info_get_type_name</api:name>
+      <api:arg>
+        <api:type>GIRepository.RegisteredTypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.registered_type_info_get_type_name</title>
+  <title>registered_type_info_get_type_name</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.RegisteredTypeInfo)
+ returns(utf8)
+def registered_type_info_get_type_name(info)
+</code></synopsis>
 <p>Obtain the type name of the struct within the GObject type system.
-This type can be passed to g_type_name() to get a <link xref="GType">GType</link>.</p></page>
+This type can be passed to g_type_name() to get a <link xref="GType">GType</link>.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_get_class_closure.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_get_class_closure.page
index 37170c0..3bfe7fe 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_get_class_closure.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_get_class_closure.page
@@ -1,13 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.signal_info_get_class_closure"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.VFuncInfo</api:type>
+      </api:returns>
+      <api:name>g_signal_info_get_class_closure</api:name>
+      <api:arg>
+        <api:type>GIRepository.SignalInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.signal_info_get_class_closure</title>
+  <title>signal_info_get_class_closure</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.SignalInfo)
+ returns(GIRepository.VFuncInfo)
+def signal_info_get_class_closure(info)
+</code></synopsis>
 <p>Obtain the class closure for this signal if one is set. The class
 closure is a virtual function on the type that the signal belongs to.
-If the signal lacks a closure %NULL will be returned.</p></page>
+If the signal lacks a closure %NULL will be returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_get_flags.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_get_flags.page
index d54aee4..db3b832 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_get_flags.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.signal_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GObject.SignalFlags</api:type>
+      </api:returns>
+      <api:name>g_signal_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GIRepository.SignalInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.signal_info_get_flags</title>
+  <title>signal_info_get_flags</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.SignalInfo)
+ returns(GObject.SignalFlags)
+def signal_info_get_flags(info)
+</code></synopsis>
 <p>Obtain the flags for this signal info. See <link xref="GSignalFlags">GSignalFlags</link> for
-more information about possible flag values.</p></page>
+more information about possible flag values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_true_stops_emit.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_true_stops_emit.page
index 7c4faab..7a6bb2a 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_true_stops_emit.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.signal_info_true_stops_emit.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.signal_info_true_stops_emit"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_signal_info_true_stops_emit</api:name>
+      <api:arg>
+        <api:type>GIRepository.SignalInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.signal_info_true_stops_emit</title>
+  <title>signal_info_true_stops_emit</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.SignalInfo)
+ returns(gboolean)
+def signal_info_true_stops_emit(info)
+</code></synopsis>
 <p>Obtain if the returning true in the signal handler will
-stop the emission of the signal.</p></page>
+stop the emission of the signal.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_find_method.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_find_method.page
index 5a9a875..6795d9c 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_find_method.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_find_method.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_find_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_struct_info_find_method</api:name>
+      <api:arg>
+        <api:type>GIRepository.StructInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.struct_info_find_method</title>
-<p>Obtain the type information for method named @name.</p><p>when done.</p></page>
+  <title>struct_info_find_method</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.StructInfo, utf8)
+ returns(GIRepository.FunctionInfo)
+def struct_info_find_method(info, name)
+</code></synopsis>
+<p>Obtain the type information for method named @name.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_alignment.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_alignment.page
index fe2d2f9..b33372c 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_alignment.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_alignment.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_alignment"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gsize</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_alignment</api:name>
+      <api:arg>
+        <api:type>GIRepository.StructInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.struct_info_get_alignment</title>
-<p>Obtain the required alignment of the structure.</p></page>
+  <title>struct_info_get_alignment</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.StructInfo)
+ returns(gsize)
+def struct_info_get_alignment(info)
+</code></synopsis>
+<p>Obtain the required alignment of the structure.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_field.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_field.page
index 8d07004..f8cf5a7 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_field.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_field.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FieldInfo</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_field</api:name>
+      <api:arg>
+        <api:type>GIRepository.StructInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.struct_info_get_field</title>
-<p>Obtain the type information for field with specified index.</p><p>when done.</p></page>
+  <title>struct_info_get_field</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.StructInfo, gint)
+ returns(GIRepository.FieldInfo)
+def struct_info_get_field(info, n)
+</code></synopsis>
+<p>Obtain the type information for field with specified index.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_method.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_method.page
index 2664e57..5b44850 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_method.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_method.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIRepository.StructInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.struct_info_get_method</title>
-<p>Obtain the type information for method with specified index.</p><p>when done.</p></page>
+  <title>struct_info_get_method</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.StructInfo, gint)
+ returns(GIRepository.FunctionInfo)
+def struct_info_get_method(info, n)
+</code></synopsis>
+<p>Obtain the type information for method with specified index.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_n_fields.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_n_fields.page
index b9cb463..1b9e9a3 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_n_fields.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_n_fields.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_n_fields"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_n_fields</api:name>
+      <api:arg>
+        <api:type>GIRepository.StructInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.struct_info_get_n_fields</title>
-<p>Obtain the number of fields this structure has.</p></page>
+  <title>struct_info_get_n_fields</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.StructInfo)
+ returns(gint)
+def struct_info_get_n_fields(info)
+</code></synopsis>
+<p>Obtain the number of fields this structure has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_n_methods.page
index 8c80798..a0c7208 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_n_methods.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_n_methods.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_n_methods"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIRepository.StructInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.struct_info_get_n_methods</title>
-<p>Obtain the number of methods this structure has.</p></page>
+  <title>struct_info_get_n_methods</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.StructInfo)
+ returns(gint)
+def struct_info_get_n_methods(info)
+</code></synopsis>
+<p>Obtain the number of methods this structure has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_size.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_size.page
index 28fdd9c..e798316 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_size.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_get_size.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_get_size"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gsize</api:type>
+      </api:returns>
+      <api:name>g_struct_info_get_size</api:name>
+      <api:arg>
+        <api:type>GIRepository.StructInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.struct_info_get_size</title>
-<p>Obtain the total size of the structure.</p></page>
+  <title>struct_info_get_size</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.StructInfo)
+ returns(gsize)
+def struct_info_get_size(info)
+</code></synopsis>
+<p>Obtain the total size of the structure.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_is_foreign.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_is_foreign.page
index 1e09a1e..6b118c5 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_is_foreign.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_is_foreign.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_is_foreign"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_struct_info_is_foreign</api:name>
+      <api:arg>
+        <api:type>GIRepository.StructInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.struct_info_is_foreign</title>
+  <title>struct_info_is_foreign</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.StructInfo)
+ returns(gboolean)
+def struct_info_is_foreign(info)
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_is_gtype_struct.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_is_gtype_struct.page
index 01e52ef..9f833cb 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_is_gtype_struct.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.struct_info_is_gtype_struct.page
@@ -1,13 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.struct_info_is_gtype_struct"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_struct_info_is_gtype_struct</api:name>
+      <api:arg>
+        <api:type>GIRepository.StructInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.struct_info_is_gtype_struct</title>
+  <title>struct_info_is_gtype_struct</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.StructInfo)
+ returns(gboolean)
+def struct_info_is_gtype_struct(info)
+</code></synopsis>
 <p>Return true if this structure represents the "class structure" for some
 <link xref="GObject">GObject</link> or <link xref="GInterface">GInterface</link>.  This function is mainly useful to hide this kind of structure
-from generated public APIs.</p></page>
+from generated public APIs.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_fixed_size.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_fixed_size.page
index 9e5297c..7559d10 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_fixed_size.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_fixed_size.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_array_fixed_size"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_array_fixed_size</api:name>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.type_info_get_array_fixed_size</title>
+  <title>type_info_get_array_fixed_size</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.TypeInfo)
+ returns(gint)
+def type_info_get_array_fixed_size(info)
+</code></synopsis>
 <p>Obtain the fixed array size of the type. The type tag must be a
-<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or -1 will returned.</p></page>
+<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or -1 will returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_length.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_length.page
index 94cec6e..ea04032 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_length.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_length.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_array_length"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_array_length</api:name>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.type_info_get_array_length</title>
+  <title>type_info_get_array_length</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.TypeInfo)
+ returns(gint)
+def type_info_get_array_length(info)
+</code></synopsis>
 <p>Obtain the array length of the type. The type tag must be a
-<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or -1 will returned.</p></page>
+<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or -1 will returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_type.page
index a8fb76e..86b7d0f 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_array_type.page
@@ -1,13 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_array_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ArrayType</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_array_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.type_info_get_array_type</title>
+  <title>type_info_get_array_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.TypeInfo)
+ returns(GIRepository.ArrayType)
+def type_info_get_array_type(info)
+</code></synopsis>
 <p>Obtain the array type for this type. See <link xref="GIArrayType">GIArrayType</link> for a list of
 possible values. If the type tag of this type is not array, -1 will be
-returned.</p></page>
+returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_interface.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_interface.page
index 63b1914..7390a6d 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_interface.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_interface.page
@@ -1,14 +1,32 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_interface"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.BaseInfo</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_interface</api:name>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.type_info_get_interface</title>
+  <title>type_info_get_interface</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.TypeInfo)
+ returns(GIRepository.BaseInfo)
+def type_info_get_interface(info)
+</code></synopsis>
 <p>For types which have <link xref="GI_TYPE_TAG_INTERFACE">GI_TYPE_TAG_INTERFACE</link> such as GObjects and boxed values,
 this function returns full information about the referenced type.  You can then
 inspect the type of the returned <link xref="GIBaseInfo">GIBaseInfo</link> to further query whether it is
-a concrete GObject, a GInterface, a structure, etc. using g_base_info_get_type().</p><p>g_base_info_unref() when done.</p></page>
+a concrete GObject, a GInterface, a structure, etc. using g_base_info_get_type().</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_param_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_param_type.page
index 1cc7d67..d61c382 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_param_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_param_type.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_param_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.TypeInfo</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_param_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.type_info_get_param_type</title>
-<p>Obtain the parameter type @n.</p></page>
+  <title>type_info_get_param_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.TypeInfo, gint)
+ returns(GIRepository.TypeInfo)
+def type_info_get_param_type(info, n)
+</code></synopsis>
+<p>Obtain the parameter type @n.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_tag.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_tag.page
index 73baf7a..8c18a45 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_tag.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_get_tag.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_get_tag"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.TypeTag</api:type>
+      </api:returns>
+      <api:name>g_type_info_get_tag</api:name>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.type_info_get_tag</title>
+  <title>type_info_get_tag</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.TypeInfo)
+ returns(GIRepository.TypeTag)
+def type_info_get_tag(info)
+</code></synopsis>
 <p>Obtain the type tag for the type. See <link xref="GITypeTag">GITypeTag</link> for a list
-of type tags.</p></page>
+of type tags.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_is_pointer.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_is_pointer.page
index ddc7f67..6b828e6 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_is_pointer.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_is_pointer.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_is_pointer"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_type_info_is_pointer</api:name>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.type_info_is_pointer</title>
-<p>Obtain if the type is passed as a reference.</p></page>
+  <title>type_info_is_pointer</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.TypeInfo)
+ returns(gboolean)
+def type_info_is_pointer(info)
+</code></synopsis>
+<p>Obtain if the type is passed as a reference.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_is_zero_terminated.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_is_zero_terminated.page
index ad8e22b..170af6a 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_is_zero_terminated.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_info_is_zero_terminated.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_info_is_zero_terminated"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_type_info_is_zero_terminated</api:name>
+      <api:arg>
+        <api:type>GIRepository.TypeInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.type_info_is_zero_terminated</title>
+  <title>type_info_is_zero_terminated</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.TypeInfo)
+ returns(gboolean)
+def type_info_is_zero_terminated(info)
+</code></synopsis>
 <p>Obtain if the last element of the array is %NULL. The type tag must be a
-<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or %FALSE will returned.</p></page>
+<link xref="GI_TYPE_TAG_ARRAY">GI_TYPE_TAG_ARRAY</link> or %FALSE will returned.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_tag_to_string.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_tag_to_string.page
index e6df08f..0bc19ef 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_tag_to_string.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.type_tag_to_string.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.type_tag_to_string"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>utf8</api:type>
+      </api:returns>
+      <api:name>g_type_tag_to_string</api:name>
+      <api:arg>
+        <api:type>GIRepository.TypeTag</api:type>
+        <api:name>type</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.type_tag_to_string</title>
-<p>Obtain a string representation of @type</p></page>
+  <title>type_tag_to_string</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.TypeTag)
+ returns(utf8)
+def type_tag_to_string(type)
+</code></synopsis>
+<p>Obtain a string representation of @type</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_find_method.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_find_method.page
index d79cbe3..a623474 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_find_method.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_find_method.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_find_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_union_info_find_method</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>utf8</api:type>
+        <api:name>name</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_find_method</title>
-<p>Obtain the type information for method named @name.</p><p>when done.</p></page>
+  <title>union_info_find_method</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo, utf8)
+ returns(GIRepository.FunctionInfo)
+def union_info_find_method(info, name)
+</code></synopsis>
+<p>Obtain the type information for method named @name.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_alignment.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_alignment.page
index 67f1343..a8a4fad 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_alignment.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_alignment.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_alignment"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gsize</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_alignment</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_get_alignment</title>
-<p>Obtain the required alignment of the union.</p></page>
+  <title>union_info_get_alignment</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo)
+ returns(gsize)
+def union_info_get_alignment(info)
+</code></synopsis>
+<p>Obtain the required alignment of the union.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator.page
index c52fe72..fb67d51 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator.page
@@ -1,13 +1,35 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_discriminator"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.ConstantInfo</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_discriminator</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_get_discriminator</title>
+  <title>union_info_get_discriminator</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo, gint)
+ returns(GIRepository.ConstantInfo)
+def union_info_get_discriminator(info, n)
+</code></synopsis>
 <p>Obtain discriminator value assigned for n-th union field, i.e. n-th
 union field is the active one if discriminator contains this
-constant.</p><p>when done.</p></page>
+constant.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator_offset.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator_offset.page
index 848b453..1023666 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator_offset.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator_offset.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_discriminator_offset"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_discriminator_offset</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_get_discriminator_offset</title>
+  <title>union_info_get_discriminator_offset</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo)
+ returns(gint)
+def union_info_get_discriminator_offset(info)
+</code></synopsis>
+
 </page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator_type.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator_type.page
index 09f7f30..f1419b5 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator_type.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_discriminator_type.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_discriminator_type"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.TypeInfo</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_discriminator_type</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_get_discriminator_type</title>
-<p>Obtain the type information of the union discriminator.</p><p>when done.</p></page>
+  <title>union_info_get_discriminator_type</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo)
+ returns(GIRepository.TypeInfo)
+def union_info_get_discriminator_type(info)
+</code></synopsis>
+<p>Obtain the type information of the union discriminator.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_field.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_field.page
index 3dd1511..0508d67 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_field.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_field.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_field"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FieldInfo</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_field</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_get_field</title>
-<p>Obtain the type information for field with specified index.</p><p>when done.</p></page>
+  <title>union_info_get_field</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo, gint)
+ returns(GIRepository.FieldInfo)
+def union_info_get_field(info, n)
+</code></synopsis>
+<p>Obtain the type information for field with specified index.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_method.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_method.page
index efaa9dc..1ad26e8 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_method.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_method.page
@@ -1,11 +1,33 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_method"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_method</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_get_method</title>
-<p>Obtain the type information for method with specified index.</p><p>when done.</p></page>
+  <title>union_info_get_method</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo, gint)
+ returns(GIRepository.FunctionInfo)
+def union_info_get_method(info, n)
+</code></synopsis>
+<p>Obtain the type information for method with specified index.</p><p>when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_n_fields.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_n_fields.page
index 1b9cd57..ef5d95b 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_n_fields.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_n_fields.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_n_fields"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_n_fields</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_get_n_fields</title>
-<p>Obtain the number of fields this union has.</p></page>
+  <title>union_info_get_n_fields</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo)
+ returns(gint)
+def union_info_get_n_fields(info)
+</code></synopsis>
+<p>Obtain the number of fields this union has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_n_methods.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_n_methods.page
index ab0e807..23a08bb 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_n_methods.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_n_methods.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_n_methods"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_n_methods</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_get_n_methods</title>
-<p>Obtain the number of methods this union has.</p></page>
+  <title>union_info_get_n_methods</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo)
+ returns(gint)
+def union_info_get_n_methods(info)
+</code></synopsis>
+<p>Obtain the number of methods this union has.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_size.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_size.page
index daf0281..43eb1ef 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_size.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_get_size.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_get_size"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gsize</api:type>
+      </api:returns>
+      <api:name>g_union_info_get_size</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_get_size</title>
-<p>Obtain the total size of the union.</p></page>
+  <title>union_info_get_size</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo)
+ returns(gsize)
+def union_info_get_size(info)
+</code></synopsis>
+<p>Obtain the total size of the union.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_is_discriminated.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_is_discriminated.page
index d795162..bbde42f 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_is_discriminated.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.union_info_is_discriminated.page
@@ -1,11 +1,29 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.union_info_is_discriminated"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_union_info_is_discriminated</api:name>
+      <api:arg>
+        <api:type>GIRepository.UnionInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.union_info_is_discriminated</title>
-<p>Return true if this union contains discriminator field.</p></page>
+  <title>union_info_is_discriminated</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.UnionInfo)
+ returns(gboolean)
+def union_info_is_discriminated(info)
+</code></synopsis>
+<p>Return true if this union contains discriminator field.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.value_info_get_value.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.value_info_get_value.page
index 0ecb0cb..2eb0c57 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.value_info_get_value.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.value_info_get_value.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.value_info_get_value"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint64</api:type>
+      </api:returns>
+      <api:name>g_value_info_get_value</api:name>
+      <api:arg>
+        <api:type>GIRepository.ValueInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.value_info_get_value</title>
+  <title>value_info_get_value</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.ValueInfo)
+ returns(gint64)
+def value_info_get_value(info)
+</code></synopsis>
 <p>Obtain the enumeration value of the <link xref="GIValueInfo">GIValueInfo</link>.</p><p>as a 32-bit signed or unsigned value. The use of gint64 as the
-return type is to allow both.</p></page>
+return type is to allow both.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_address.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_address.page
index 4569fe7..752b77e 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_address.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_address.page
@@ -1,12 +1,34 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_address"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gpointer</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_address</api:name>
+      <api:arg>
+        <api:type>GIRepository.VFuncInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GType</api:type>
+        <api:name>implementor_gtype</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.vfunc_info_get_address</title>
+  <title>vfunc_info_get_address</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.VFuncInfo, GType)
+ returns(gpointer)
+def vfunc_info_get_address(info, implementor_gtype)
+</code></synopsis>
 <p>This method will look up where inside the type struct of @implementor_gtype
-is the implementation for @info.</p></page>
+is the implementation for @info.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_flags.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_flags.page
index 5b2dfb7..a53d25b 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_flags.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_flags.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_flags"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.VFuncInfoFlags</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_flags</api:name>
+      <api:arg>
+        <api:type>GIRepository.VFuncInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.vfunc_info_get_flags</title>
+  <title>vfunc_info_get_flags</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.VFuncInfo)
+ returns(GIRepository.VFuncInfoFlags)
+def vfunc_info_get_flags(info)
+</code></synopsis>
 <p>Obtain the flags for this virtual function info. See <link xref="GIVFuncInfoFlags">GIVFuncInfoFlags</link> for
-more information about possible flag values.</p></page>
+more information about possible flag values.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_invoker.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_invoker.page
index 042bbbc..cadf782 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_invoker.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_invoker.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_invoker"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.FunctionInfo</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_invoker</api:name>
+      <api:arg>
+        <api:type>GIRepository.VFuncInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.vfunc_info_get_invoker</title>
+  <title>vfunc_info_get_invoker</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.VFuncInfo)
+ returns(GIRepository.FunctionInfo)
+def vfunc_info_get_invoker(info)
+</code></synopsis>
 <p>If this virtual function has an associated invoker method, this
-method will return it.  An invoker method is a C entry point.</p><p>Not all virtuals will have invokers.</p><p>g_base_info_unref() when done.</p></page>
+method will return it.  An invoker method is a C entry point.</p><p>Not all virtuals will have invokers.</p><p>g_base_info_unref() when done.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_offset.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_offset.page
index 9c21929..a739e2d 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_offset.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_offset.page
@@ -1,12 +1,30 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_offset"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gint</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_offset</api:name>
+      <api:arg>
+        <api:type>GIRepository.VFuncInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.vfunc_info_get_offset</title>
+  <title>vfunc_info_get_offset</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.VFuncInfo)
+ returns(gint)
+def vfunc_info_get_offset(info)
+</code></synopsis>
 <p>Obtain the offset of the function pointer in the class struct. The value
-0xFFFF indicates that the struct offset is unknown.</p></page>
+0xFFFF indicates that the struct offset is unknown.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_signal.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_signal.page
index d21acdc..7bb5f48 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_signal.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_get_signal.page
@@ -1,13 +1,31 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_get_signal"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>GIRepository.SignalInfo</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_get_signal</api:name>
+      <api:arg>
+        <api:type>GIRepository.VFuncInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.vfunc_info_get_signal</title>
+  <title>vfunc_info_get_signal</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.VFuncInfo)
+ returns(GIRepository.SignalInfo)
+def vfunc_info_get_signal(info)
+</code></synopsis>
 <p>Obtain the signal for the virtual function if one is set.
 The signal comes from the object or interface to which
-this virtual function belongs.</p></page>
+this virtual function belongs.</p>
+</page>
diff --git a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_invoke.page b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_invoke.page
index f3b8533..41124fd 100644
--- a/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_invoke.page
+++ b/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.vfunc_info_invoke.page
@@ -1,13 +1,55 @@
 <?xml version="1.0"?>
+
 <page id="GIRepository.vfunc_info_invoke"
       type="topic"
       style="function"
       xmlns="http://projectmallard.org/1.0/";
+      xmlns:api="http://projectmallard.org/experimental/api/";
       xmlns:ui="http://projectmallard.org/experimental/ui/";>
   <info>
     <link type="guide" xref="index" group="function"/>
+    <api:function>
+      <api:returns>
+        <api:type>gboolean</api:type>
+      </api:returns>
+      <api:name>g_vfunc_info_invoke</api:name>
+      <api:arg>
+        <api:type>GIRepository.VFuncInfo</api:type>
+        <api:name>info</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>GType</api:type>
+        <api:name>implementor</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>in_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n_in_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>out_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>gint</api:type>
+        <api:name>n_out_args</api:name>
+      </api:arg>
+      <api:arg>
+        <api:type>None</api:type>
+        <api:name>return_value</api:name>
+      </api:arg>
+    </api:function>
   </info>
-  <title>GIRepository.vfunc_info_invoke</title>
+  <title>vfunc_info_invoke</title>
+<synopsis><code mime="text/x-python">
+ accepts(GIRepository.VFuncInfo, GType, None, gint, None, gint, None)
+ returns(gboolean)
+def vfunc_info_invoke(info, implementor, in_args, n_in_args, out_args, n_out_args, return_value)
+</code></synopsis>
 <p>Invokes the function described in @info with the given
 arguments. Note that inout parameters must appear in both
-argument lists.</p><p>error occurred.</p></page>
+argument lists.</p><p>error occurred.</p>
+</page>



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