Ordene o que não pode ser ordenado

Neste desafio, você receberá um array semelhante ao seguinte:

[[3], 4, [2], [5], 1, 6]

Em outras palavras, os elementos do array são ou um inteiro ou um array contendo um único inteiro. Se você tentar ordenar este array usando ([[3], 4, [2], [5], 1, 6]).sort, Ruby reclamará que não consegue comparar inteiros e arrays.

No entanto, nós, humanos, podemos ver claramente que este array pode ser ordenado de forma razoável de acordo com "o conteúdo dos elementos":

[1, [2], [3], 4, [5], 6]

Crie uma função que, dado um array semelhante ao acima, ordene o array de acordo com "o conteúdo dos elementos".

Exemplos

sort_it([4, 1, 3]) ➞ [1, 3, 4]

sort_it([[4], [1], [3]]) ➞ [[1], [3], [4]]

sort_it([4, [1], 3]) ➞ [[1], 3, 4]

sort_it([[4], 1, [3]]) ➞ [1, [3], [4]]

sort_it([[3], 4, [2], [5], 1, 6]) ➞ [1, [2], [3], 4, [5], 6]

Observações

Reiterando, os elementos do array serão inteiros ou arrays com um único inteiro.