Make GObject-derived arguments in method calls abstract over the typeclass corresponding to the type, so any descendant of the original class is allowed without having to cast the types explicitly.