keys' :: [[NS.Nibble]] -> Int -> [(Int, [NS.Nibble])]
keys' (h:hs) i = if isKey then (i, h) : keys' hs (i + 1) else keys' hs (i + 1)
  where
    isKey = maybe False (\c -> any (isInfixOf (replicate 5 c)) (take 1000 hs)) $ findTriplet h
keys' :: [[NS.Nibble]] -> Int -> [(Int, [NS.Nibble])]
keys' (h:hs) i = if isKey then (i, h) : keys' hs (i + 1) else keys' hs (i + 1)
  where
    isKey = maybe False (\c -> any (isInfixOf (replicate 5 c)) (take 1000 hs)) $ findTriplet h
keys' (h:hs) i = if isKey then (i, h) : keys' hs (i + 1) else keys' hs (i + 1)
  where
    isKey = maybe False (\c -> any (isInfixOf (replicate 5 c)) (take 1000 hs)) $ findTriplet h