Corrija o erro: Achatar um array

Estou tentando escrever uma função para achatar um array de subarrays em um único array. Em outras palavras, quero transformar isto: [[1, 2], [3, 4]] em [1, 2, 3, 4].

Aqui está o meu código:

def flatten(arr)
  res = []
  for i in 0..arr.size-1
    res + arr[i]
  end
  res
end

Mas... parece que não está funcionando. Corrija o meu código para que ele achate o array corretamente.

Exemplos

flatten([[1, 2], [3, 4]]) ➞ []
// Expected: [1, 2, 3, 4]

flatten([["a", "b"], ["c", "d"]]) ➞ []
// Expected: ["a", "b", "c", "d"]

flatten([[true, false], [false, false]]) ➞ []
// Expected: [true, false, false, false]

Observações

N/A