Why do sideloaded records have to be an array?

I had a request that delivered 2 types of records as array and they all got loaded normally, so I assumed, I could pack anything in to my responses and it will get loaded accordingly.

But when I tried to load 2 single records of different types, it didn’t work, because I couldn’t do this:

{
  room:{...},
  key:{...}
}

I had to do this:

{
  room:{...},
  keys:[{...}]
}

which is counterintuitive to the whole “Ember gets singular and plural right”-thing.