It looked like UserDefaults just started crapping the bed but it turns out renaming a property from ‘value’ to ‘newValue’ can be dangerous. A function value(forKey:) was being passed as Any? instead of the parameter ‘newValue’ so the compiler was happy.
1174643
1174644
1174645
Found a few more bugs
1174646