Ordena lo imposible de ordenar

En este desafío recibirás un arreglo similar al siguiente:

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

En otras palabras, los elementos del arreglo son o un entero o un arreglo que contiene un solo entero. Si intentas ordenar este arreglo mediante ([[3], 4, [2], [5], 1, 6]).sort, Ruby se quejará de que no puede comparar enteros y arreglos.

Sin embargo, los humanos podemos ver claramente que este arreglo se puede ordenar razonablemente según "el contenido de los elementos":

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

Crea una función que, dado un arreglo similar al anterior, ordene el arreglo según "el contenido de los elementos".

Ejemplos

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]

Notas

Para reiterar, los elementos del arreglo serán enteros o arreglos con un solo entero.