module Utils where import Data.List import Data.Maybe uniq :: Eq a => [a] -> [a] uniq (a:b:cs) | a == b = uniq (b:cs) | otherwise = a : uniq (b:cs) uniq l = l contains :: Eq a => [a] -> a -> Bool contains l v = isJust $ find (== v) l roundUp :: Integral a => a -> a -> a roundUp n sz = (n + sz - 1) `div` sz * sz assertM :: Monad m => Bool -> m () assertM True = return () assertM False = error "assertM failed"