module Propellor.Types.Empty where

import qualified Data.Map as M
import qualified Data.Set as S

class Empty t where
	isEmpty :: t -> Bool

instance Empty [a] where
	isEmpty :: [a] -> Bool
isEmpty = forall (t :: * -> *) a. Foldable t => t a -> Bool
null

instance Empty (M.Map k v) where
	isEmpty :: Map k v -> Bool
isEmpty = forall k v. Map k v -> Bool
M.null

instance Empty (S.Set v) where
	isEmpty :: Set v -> Bool
isEmpty = forall v. Set v -> Bool
S.null