title: How to pass generic data types with Safe Args?
body: <p>I need to pass Kotlin's <code>Pair</code> as arguments.</p>
  
  <hr>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;argument android:name="data" app:argType="kotlin.Pair" /&gt;
  </code></pre>
  
  <pre class="lang-none prettyprint-override"><code>e: CreateCodeFragmentDirections.kt: (16, 15): 2 type arguments expected for class Pair&lt;out A, out B&gt;
  </code></pre>
  
  <hr>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;argument android:name="data" app:argType="kotlin.Pair&lt;String, String&gt;" /&gt;
  </code></pre>
  
  <pre class="lang-none prettyprint-override"><code>Cause: markup not allowed inside attribute value - illegal &lt;  (position: TEXT seen ...&lt;argument android:name="data" app:argType="kotlin.Pair&lt;... @132:30) 
  </code></pre>
  
  <hr>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;argument android:name="data" app:argType="kotlin.Pair&amp;lt;String, String&amp;gt;" /&gt;
  </code></pre>
  
  <pre class="lang-none prettyprint-override"><code>Can't escape identifier `Pair&lt;String, String&gt;` because it contains illegal characters: &lt;&gt;
  </code></pre>
  
  <hr>
  
  <p>None of the above attempts worked. How can I do it?</p>