title: QML ListModel append broken for object containing an array?
body: <p><code>ListModel</code> produces unexpected and pretty much broken results when trying to insert a JS object which contains an array:</p>
  
  <pre><code>property ListModel model : ListModel {}
  
  Component.onCompleted: {
    var a = [1, 2, 3, 4, 5]
    console.log(a)
    model.append({"a" : a})
    console.log(model.get(model.count - 1))
    console.log(model.get(model.count - 1).a)
  </code></pre>
  
  <p>Output is:</p>
  
  <pre><code>qml: [1,2,3,4,5]
  qml: QObject(0x3cccd58)
  qml: QQmlListModel(0x3cd0978)
  </code></pre>
  
  <p>However, if the array is joined into a string, it works as expected:</p>
  
  <pre><code>  console.log(a)
    a = a.join(",")
    model.append({"a" : a})
    console.log(model.get(model.count - 1))
    console.log(model.get(model.count - 1).a)
  
  qml: [1,2,3,4,5]
  qml: QObject(0x3d5da60)
  qml: 1,2,3,4,5
  </code></pre>
  
  <p>A few observations - it seems like the array is somehow "converted" to a <code>QQmlListModel</code>, and it is another list model instance, not the one that's being appended to. Also, initially I though this might indeed be some auto conversion and expected that list model to contain the five numbers and indeed <code>count</code> is 5, however <code>get(0)</code> returns an <code>undefined</code>. So while the size matches that of the array, there isn't any valid content whatsoever.</p>
  
  <p>I am pretty sure it is a bug, but nevertheless I'd ask if someone knows what is going on before filing a bug report. </p>