module Data.Bitmask (foldFlags) where import Prelude hiding (foldl) import Data.Bits import Data.Foldable foldFlags :: (Bits b, Foldable f, Num b) => (flag -> b) -> f flag -> b foldFlags f = foldl (\a b -> a .|. f b) 0