title: Moshi deserializing values as null
body: <p>I've recently switched from Gson to Moshi and am having trouble parsing some Json.</p>
  
  <pre><code>{
    "access_token": "-LNe2LQ7DQH5Y2zs_W5iUumKuaUE",
    "token_type": "bearer",
    "device_id": "461f-837e-af5050c92fe9",
    "expires_in": 3600,
    "scope": "*"
  }
  </code></pre>
  
  <p>And here's the model class:</p>
  
  <pre><code>data class AuthToken(
          @Json(name = "access_token") val accessToken: String,
          @Json(name = "token_type") val tokenType: String,
          @Json(name = "device_id") val deviceId: String,
          @Json(name = "expires_in") val expiresIn: Int,
          @Json(name = "scope") val scope: String
  )
  </code></pre>
  
  <p>Whenever I switch to using Moshi in my retrofit client, I receive the following error: </p>
  
  <pre><code>java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull
  </code></pre>
  
  <p>I have made the field nullable, however it is always deserialized as null. I've checked my retrofit response and it's (obviously) the same when using either Gson or Moshi. What am I doing wrong? </p>