I timed the the following two, and it appears that both of them take the same amount of time. Is there any benefit of using over the other?
(1 to 24).foldRight(List[Int]())((i, l) => l ::: generateList(signs, i))
vs.
(1 to 24).map(i => generateList(signs, i)).reduce(_ ::: _)
p.s. in my use case the order does not matter.