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 = 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, forall a. a -> Maybe a
Just a
f)
unTyVarBndr (KindedTV Name
n a
f Kind
_k) = (Name
n, forall a. a -> Maybe a
Just a
f)