cycle (1 :| [2,3]) = 1 :| [2,3,1,2,3,...]
>>> cycle [] *** Exception: Prelude.cycle: empty list >>> cycle [42] [42,42,42,42,42,42,42,42,42,42... >>> cycle [2, 5, 7] [2,5,7,2,5,7,2,5,7,2,5,7...