makeWebRequest returns an Array, even though the documentation states it can not.

As per this thread:

 WebRequest: How to ignore wrong response content type? 

The callback function for makewebrequest has the type:

responseCallback as Lang.Method(responseCode as Lang.Number, data as Lang.Dictionary or Lang.String or PersistedContent.Iterator or Null) as Void or Lang.Method(responseCode as Lang.Number, data as Lang.Dictionary or Lang.String or PersistedContent.Iterator or Null, context as Lang.Object) as Void

So it supposedly doesn't return data as Lang.Array, even that is what the response is. The only proposed workaround is to treat the response as plain text, instead of as JSON object. But I managed to get an Array:

function callback(responseCode as Number, data as Dictionary or String or PersistedContent.Iterator or Null, c as Object) as Void {
  if (responseCode == 200 and data instanceof Array) {
    System.println(data.size()); // executed correctly, even though compiler warns about this line being unreachable

  }

}

I use Communications.HTTP_RESPONSE_CONTENT_TYPE_JSON as reponseType, I can see in the debugger, that the data argument is indeed an Array. 

Is this behavior reliable? I tried it in a simulator, not on a real watch yet.

Perhaps this is a new, undocumented feature in the SDK, not present on older firmwares?