skip3 :: [Int] -> [Triangle]
skip3 ints =
  take3 ([a | (i, a) <- ints', i `mod` 3 == 0 ] ++
         [b | (i, b) <- ints', i `mod` 3 == 1 ] ++
         [c | (i, c) <- ints', i `mod` 3 == 2 ])
  where
    ints' = zip [0..] ints
skip3 :: [Int] -> [Triangle]
skip3 ints =
  take3 ([a | (i, a) <- ints', i `mod` 3 == 0 ] ++
         [b | (i, b) <- ints', i `mod` 3 == 1 ] ++
         [c | (i, c) <- ints', i `mod` 3 == 2 ])
  where
    ints' = zip [0..] ints
skip3 ints =
  take3 ([a | (i, a) <- ints', i `mod` 3 == 0 ] ++
         [b | (i, b) <- ints', i `mod` 3 == 1 ] ++
         [c | (i, c) <- ints', i `mod` 3 == 2 ])
  where
    ints' = zip [0..] ints