This is so a derivable type can be declared later. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1514>