In the .i file we can register which objects are concrete or not (have the macro accept a bool) and then use the concrete- or non-concrete version as appropriate for each .get#{object_type_name}s.