Please see the commit messages.
Notes:
- macOS CI seems to be flaky
- I'm ignoring the results of the style checker script because they seem to be all wrong. At least, the code style it enforces does not match the surrounding code or prevailing GLib style. It's so wrong that I'm actually quite confused: is there some new convention for reformatting/restyling files?