I’ve used reflective moshi thinking non-nullable and defaults just work. Possibly. I’m vaguely certain I ran into no such problems.
Could be that the json in question had no such requirements and I just dodged that particular bullet through luck alone.
How come the defaults and non-nullable shouldn’t work on reflection? Im not very knowledgeable about kotlin reflection.