data Set e = Set [e] deriving Show mySet :: Set Int mySet = Set [1, 2, 3, 4, 5] setLength :: Set e -> Int setLength (Set s) = length s empty :: Set e -> Bool empty (Set s) = if null s then True else False insert :: Set e -> e -> Set e insert (Set s) value = Set $ value : s main = print $ insert mySet 4