title: Firebase Realtime Database does not store Map with $type field
body: <p>I have a class which I convert to a Map&lt;String, dynamic&gt; which contains a type field:</p>
  <pre class="lang-dart prettyprint-override"><code>Map&lt;String, dynamic&gt; _$LibraryFolderToJson(LibraryFolder instance) =&gt;
      &lt;String, dynamic&gt;{
        r'$type': instance.type,
        'id': const GuidConverter().toJson(instance.id),
        'parentId': const NullableGuidConverter().toJson(instance.parentId),
        'relativePath': instance.relativePath,
      };
  </code></pre>
  <p>Now I want to store this Map inside my Firebase Realtime Database, but it will not get stored. So I started to write some tests and found out, that the &quot;$type&quot; field is the problem. When I remove this line, everything is stored as it should.</p>
  <ol>
  <li>Are there any restrictions from Firebase which prevents these type of fields?</li>
  <li>Is there still a way to store this field?</li>
  <li>This type of field comes from the .Net world (Newtonsoft.Json) and I adapted it into my flutter app. Is there a better field name for this?</li>
  </ol>