-- | Constructor tags.moduleData.Array.Parallel.Base.Util(Tag,fromBool,toBool,tagToInt,intToTag)whereimportData.Word(Word8)-- | Given a value of an algebraic type, the tag tells us what-- data constructor was used to create it.typeTag=Int-- | Get the `Tag` of a `Bool` value. `False` is 0, `True` is 1.{-# INLINE fromBool #-}fromBool::Bool->TagfromBoolFalse=0fromBoolTrue=1-- | Convert a `Tag` to a `Bool` value.{-# INLINE toBool #-}toBool::Tag->BooltoBooln|n==0=False|otherwise=True-- | Convert a `Tag` to an `Int`. This is identity at the value level.{-# INLINE tagToInt #-}tagToInt::Tag->InttagToInt=id-- | Convert an `Int` to a `Tag`. This is identity at the value level.{-# INLINE intToTag #-}intToTag::Int->TagintToTag=id