    module Language.Haskell.TH.Compat.TyVarBndr.Current (
      plainTVspecified,
      unTyVarBndr,
      ) where

    import Language.Haskell.TH (Name, TyVarBndr (..), Specificity (SpecifiedSpec))

    plainTVspecified :: Name -> TyVarBndr Specificity
    plainTVspecified :: Name -> TyVarBndr Specificity
    plainTVspecified Name
    n = Name -> Specificity -> TyVarBndr Specificity
    forall flag. Name -> flag -> TyVarBndr flag
    PlainTV Name
    n Specificity
    SpecifiedSpec

    unTyVarBndr :: TyVarBndr a -> (Name, Maybe a)
    unTyVarBndr :: forall a. TyVarBndr a -> (Name, Maybe a)
    unTyVarBndr (PlainTV Name
    n a
    f) = (Name
    n, a -> Maybe a
    forall a. a -> Maybe a
    Just a
    f)
    unTyVarBndr (KindedTV Name
    n a
    f Kind
    _k) = (Name
    n, a -> Maybe a
    forall a. a -> Maybe a
    Just a
    f)