var
Was pretty pointless and made it hard to use the custom serialisation terms arbitrarily in tests.
Type.GetType()
They're mostly used in extensibility scenarios, so everything happens in runtime. There is no better resolution than to crash with a null reference exception.
This has been moved to framework in https://github.com/ppy/osu-framework/pull/4285.
Not sure why these aren't being detected on master right now - they should be...
Also fixes circular references when using IJsonSerializable.