title: Using map[string]int as parameter of type map[interface{}]interface{}
body: <p>I have a function:</p>
  
  <pre><code>func ReturnTuples(map_ map[interface{}]interface{}) [][]interface{} {
  </code></pre>
  
  <p>In which I'm trying to call like this:</p>
  
  <pre><code>m := make(map[string]int)
  m["k1"] = 7
  m["k2"] = 13
  fmt.Println(ReturnTuples(m))
  </code></pre>
  
  <p>But I'm getting</p>
  
  <pre><code>cannot use m (type map[string]int) as type map[interface {}]interface {} in argument to ReturnTuples
  </code></pre>
  
  <p>Shouldn't it work since <code>string</code> and <code>int</code> both implement <code>interface{}</code>?</p>
  
  <p>I've searched and the best I could find was <a href="https://stackoverflow.com/questions/26975880/convert-mapinterface-interface-to-mapstringstring">Convert map[interface {}]interface {} to map[string]string</a> but it won't answer why I cannot use <code>m</code> as an argument.</p>
  
  <p>I also believe that if the argument of the function were only <code>interface{}</code> it would work too, since <code>map[something][something]</code> implements <code>interface</code>, right? What is the best way to do it, and why it won't work in my case?</p>