I've been wondering for a while now why: 

```
public List<int> getTest(){
   List<int> test = new List<int>();
   test.add(1);
   return test;
}

```

returns to clientside as: 

```
{
   test: {
            $id: randomnumber,
            $values: [1]
         }
}

```

Instead of 

```
{
   test: [1]
}

```

I use .NET framework 4.6.1 and initialize the list just like the code above. Usually it is not a problem because in clientside you can acces $values as easily as test. But I can't let go of wondering why it returns like this. And hope someone can give me a relieving answer on why and if it is possible to return without an extra child property $values and $id.

The function gets called in a controller class from an implementation class.

```
        [HttpGet, Route("getTest")]
        public List<int> getTest()
        {
            return implementationClass.getTest();
        }

```