module Internal.Evidence (evByFiat) where
import GHC.Tc.Types.Evidence (EvTerm(..))
import GHC.Core.TyCo.Rep (UnivCoProvenance (..))
import GhcApi.GhcPlugins
evByFiat :: String
-> Type
-> Type
-> EvTerm
evByFiat :: String -> Type -> Type -> EvTerm
evByFiat String
name Type
t1 Type
t2 =
EvExpr -> EvTerm
EvExpr forall a b. (a -> b) -> a -> b
$ forall b. Coercion -> Expr b
Coercion forall a b. (a -> b) -> a -> b
$ UnivCoProvenance -> Role -> Type -> Type -> Coercion
mkUnivCo (String -> UnivCoProvenance
PluginProv String
name) Role
Nominal Type
t1 Type
t2