> Is sorting a heterogeneous array something we want to support?

Yes. It's helpful to be able to sort data that has heterogeneous types.

> We also need to define ordering within a type. Numbers are easy. What about strings? Should we take collation/locale into account?

I would think we sort only based on code points. What do you want to do?

> What do you compare arrays/objects? Are smaller arrays less than larger arrays? What about with objects?

This probably could be made much clearer. Arrays and objects are sorted based on their type only. The contents of arrays and objects are not inspected while sorting. The order in which they appear in a sorted list are based on the original ordering of the data.