title: Immutable value of type Array<String> only has mutating member named 'append'
body: <p>I have simple case where I call some list and try to append new value.</p>
  
  <pre><code>class User{
  
      var list:Array&lt;String&gt; = []
  
      func getList()-&gt;Array&lt;String&gt;{
        return list
      }
  }
  
  var user = User()
  user.getList().append("aaa") // &lt;-- ERROR
  user.list.append("aaa") // OK
  </code></pre>
  
  <hr>
  
  <p><code>Immutable value of type Array&lt;String&gt; only has mutating member named 'append'</code></p>
  
  <p>Why It doesn't work if <code>user.getList()</code> returns <code>list</code>.</p>
  
  <p>I know there is no encapsulation like in Java but it seems strange. </p>
  
  <hr>
  
  <p><strong>[EDIT]</strong></p>
  
  <p>Regards to @MichaelDautermann answer:</p>
  
  <pre><code>var user = User()                        // {["c"]}
  var temp:Array&lt;String&gt; = user.getList()  // ["c"]
  temp += ["aaa"]                          // ["c", "aaa"]
  
  var z:Array&lt;String&gt; = user.getList()     // ["c"]
  </code></pre>