-- one-dimensional one.
flatten :: [[[a]]] -> [a]
flatten xs = concat $ concat xs
+
+
+-- | Takes a list, and returns True if its elements are pairwise
+-- equal. Returns False otherwise.
+all_equal :: (Eq a) => [a] -> Bool
+all_equal xs =
+ and $ map (== first_element) other_elements
+ where
+ first_element = head xs
+ other_elements = tail xs