ммм... да, то что они конфликтуют я уже методом тыка понял, собственно, поэтому и перенес импорт как в примерах хелловорда
https://github.com/gtkd-developers/GtkD/blob/de337470d983e0eedc8667644ac511529c85cb18/demos/gtk/HelloWorld.d#L21В моем понимании, все равно же получается, что Application заявлен по апи как потомок какого-то условного типа "GioApplication", поскольку там явно определено наследование. Методом тыка тоже установлено, что в addOnActivate нужно именно GioApplication. Раз так, то если поставить в дефолт GioApplication, то потом в классах контроллера через getDefault будет\должен быть сужающий каст GioApplication -> Application. Чет-то тут запутано как-то все.... Идея со статикой выглядит рабочей, но как-то стремно это все на фоне этих конфликтов двух Application.
Кроме того, как я понимаю, где-то кто-то может снова вызвать setDefault, что вроде таких граблей:
application.setDefault;
application.addOnActivate((GioApplication gioApp) {
gioApp.setDefault;
});