Divisão de uma lista em blocos

Dado um array e um tamanho de bloco n, crie chunk(_:_:). Divida o array de entrada em subarrays consecutivos de tamanho n. Quando restarem menos de n valores, inclua-os em um último subarray menor. Preserve a ordem original dos elementos.

Exemplos

chunk([1, 2, 3, 4], 2) ➞ [[1, 2], [3, 4]]

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

chunk([1, 2, 3, 4, 5], 10) ➞ [[1, 2, 3, 4, 5]]

Observações

A quantidade de subarrays resultantes não precisa ser igual ao tamanho do bloco.