For better manage, all your returns should be basic, boxed and GObjects,
it's transparent for GI to manage them because it knows how copy,
instantiate and delete them. I'm not really sure but you can say to GI what
functions to call on GIR but better library use registered GType to easy
live to GI.
i have a library (the same as thet thread before) that have a method
that returns a gnode
but when it is introspected by g-ir-scanner i got
Warning: Confi: confi_get_tree: return value: Invalid non-constant
return of bare structure or union; register as boxed type or (skip)
how must i anno