Okay. I think I'm going crazy. I swear Moshi would "*allow*" (not crash) deserializing an explicit null from json into a non-nullable val. And then you would be able to continue with your application, until you used that property and then you found out it was actually null and your code would crash. But now that I'm writing tests against, it... it seems like moshi crashes at the sight of null if the property is non-null. Could it be something else, maybe I'm mis-remembering?