intersection :: Ord a => CustomSet a -> CustomSet a -> CustomSet a
intersection a b = F.foldl' go empty b
  where go acc x = if x `member` a then insert x acc else acc
intersection :: Ord a => CustomSet a -> CustomSet a -> CustomSet a
intersection a b = F.foldl' go empty b
  where go acc x = if x `member` a then insert x acc else acc
intersection a b = F.foldl' go empty b
  where go acc x = if x `member` a then insert x acc else acc