{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE TypeOperators #-}
module Datafix.Entailments
( cdInst
, lfInst
, afInst
, idInst
) where
import Datafix.Utils.Constraints
import Datafix.Utils.TypeLevel
cdInst
:: Forall (Currying (ParamTypes domain))
:- Currying (ParamTypes domain) (ReturnType domain -> ReturnType domain -> Bool)
cdInst = inst
lfInst
:: Forall (Currying (ParamTypes domain))
:- Currying (ParamTypes domain) (m (ReturnType domain))
lfInst = inst
afInst
:: Forall (Currying (ParamTypes domain))
:- Currying (ParamTypes domain) (ReturnType domain -> ReturnType domain)
afInst = inst
idInst
:: Forall (Currying (ParamTypes domain))
:- Currying (ParamTypes domain) (ReturnType domain)
idInst = inst