cycle :: HasCallStack => [a] -> [a]
hs>>> cycle [] *** Exception: Prelude.cycle: empty list >>> cycle [2, 5, 7] [2,5,7,2,5,7,2,5,7,2,...]