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