Classificando a matriz [Qualquer]

Dada uma matriz definida como segue

let list: [Any]

Eu quero classificarQUANDO

todos os valores dentro dele têm o mesmo tipoElementE Element éComparable.Quando deve retornar a matriz classificada

Então, eu precisaria de uma função que, quando a matriz for preenchida de uma maneira como as seguintes

let list: [Any] = [10, 11, 0, 2, -1]
let list: [Any] = ["Red", "Green", "Blue"]
let list: [Any] = [true, false, true, true]

retorna a matriz classificada.

Quando deve retornar nulo

Por outro lado, quandolist contém um dos seguintes exemplos

let list: [Any] = [CGPointZero, CGPoint(x:1, y:1)] // CGPoint is not comparable
let list: [Any] = [10, "Hello"] // Values of different types

eu queronil como valor de retorno.

Qualquer ideia?

questionAnswers(4)

yourAnswerToTheQuestion