emptyAccum :: Int -> Accum
emptyAccum dim = 
    Accum 0 -- length
          [] -- cycles
          (array (1, dim) ((1, True) : [(i, False) | i <- [2..dim]]))
emptyAccum :: Int -> Accum
emptyAccum dim = 
    Accum 0 -- length
          [] -- cycles
          (array (1, dim) ((1, True) : [(i, False) | i <- [2..dim]]))
emptyAccum dim = 
    Accum 0 -- length
          [] -- cycles
          (array (1, dim) ((1, True) : [(i, False) | i <- [2..dim]]))