module Deontic.Civil.Types
( MinorAct(..)
, JuristicAct(..)
, ShamAct(..)
, MistakeAct(..)
, FraudAct(..)
, AuthAgencyAct(..)
, UnauthAgencyAct(..)
, PossessionAct(..)
, PrescriptionAct(..)
, CoOwnershipAct(..)
, TortAct(..)
, RescissionAct(..)
, PropertyTransferAct(..)
, AcqPrescriptionAct(..)
, DefaultAct(..)
, WarrantyAct(..)
, LeaseAct(..)
, CivilFact(..)
, PrescriptionFacts(..)
, CoOwnershipFacts(..)
, TortFacts(..)
, RescissionFacts(..)
, AcqPrescFacts(..)
, DefaultFacts(..)
, WarrantyFacts(..)
, LeaseFacts(..)
, Ratification, ApparentAuth
, Presumption, Rebuttal
, Expiration, Interruption
, ContributoryNeg
, FormException
, ShortPrescription
, CreditorDefense
, BuyerKnowledge
, RenewalRight
, AgencyWithdrawalAct(..)
, AgentLiabilityAct(..)
, PartialInvalidityAct(..)
, PartialInvalidityFacts(..)
, CancellableAct(..)
, CancellationFacts(..)
, ConstructiveRatificationEvent(..)
, ConditionalAct(..)
, ConditionType(..)
, ConditionState(..)
, BadFaithKind(..)
, ConditionalFacts(..)
, CounterpartyKnowledge
, HypotheticalIntent, Conversion
, GeneralRatification, ConstructiveRatification
, IllegalCondition, BadFaithCondition
, DomainKey(..)
, module Data.Time.Calendar
) where
import Data.Functor.Identity (Identity(..))
import Data.GADT.Compare (GEq(..), GCompare(..), GOrdering(..))
import Data.GADT.Show (GShow(..))
import Data.Set (Set)
import Data.Time.Calendar (Day, addGregorianYearsClip)
import Data.Type.Equality ((:~:)(..))
import Deontic.Core.Types (PersonId, ActId, Facts)
import Deontic.Core.Verdict (Verdict)
data MinorAct = MinorAct
{ MinorAct -> PersonId
maActor :: PersonId
, MinorAct -> ActId
maActId :: ActId
} deriving (MinorAct -> MinorAct -> Bool
(MinorAct -> MinorAct -> Bool)
-> (MinorAct -> MinorAct -> Bool) -> Eq MinorAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MinorAct -> MinorAct -> Bool
== :: MinorAct -> MinorAct -> Bool
$c/= :: MinorAct -> MinorAct -> Bool
/= :: MinorAct -> MinorAct -> Bool
Eq, Int -> MinorAct -> ShowS
[MinorAct] -> ShowS
MinorAct -> String
(Int -> MinorAct -> ShowS)
-> (MinorAct -> String) -> ([MinorAct] -> ShowS) -> Show MinorAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MinorAct -> ShowS
showsPrec :: Int -> MinorAct -> ShowS
$cshow :: MinorAct -> String
show :: MinorAct -> String
$cshowList :: [MinorAct] -> ShowS
showList :: [MinorAct] -> ShowS
Show)
data JuristicAct = JuristicAct
{ JuristicAct -> PersonId
jaActor :: PersonId
, JuristicAct -> ActId
jaActId :: ActId
} deriving (JuristicAct -> JuristicAct -> Bool
(JuristicAct -> JuristicAct -> Bool)
-> (JuristicAct -> JuristicAct -> Bool) -> Eq JuristicAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: JuristicAct -> JuristicAct -> Bool
== :: JuristicAct -> JuristicAct -> Bool
$c/= :: JuristicAct -> JuristicAct -> Bool
/= :: JuristicAct -> JuristicAct -> Bool
Eq, Int -> JuristicAct -> ShowS
[JuristicAct] -> ShowS
JuristicAct -> String
(Int -> JuristicAct -> ShowS)
-> (JuristicAct -> String)
-> ([JuristicAct] -> ShowS)
-> Show JuristicAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> JuristicAct -> ShowS
showsPrec :: Int -> JuristicAct -> ShowS
$cshow :: JuristicAct -> String
show :: JuristicAct -> String
$cshowList :: [JuristicAct] -> ShowS
showList :: [JuristicAct] -> ShowS
Show)
data ShamAct = ShamAct
{ ShamAct -> PersonId
saActor :: PersonId
, ShamAct -> ActId
saActId :: ActId
} deriving (ShamAct -> ShamAct -> Bool
(ShamAct -> ShamAct -> Bool)
-> (ShamAct -> ShamAct -> Bool) -> Eq ShamAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ShamAct -> ShamAct -> Bool
== :: ShamAct -> ShamAct -> Bool
$c/= :: ShamAct -> ShamAct -> Bool
/= :: ShamAct -> ShamAct -> Bool
Eq, Int -> ShamAct -> ShowS
[ShamAct] -> ShowS
ShamAct -> String
(Int -> ShamAct -> ShowS)
-> (ShamAct -> String) -> ([ShamAct] -> ShowS) -> Show ShamAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ShamAct -> ShowS
showsPrec :: Int -> ShamAct -> ShowS
$cshow :: ShamAct -> String
show :: ShamAct -> String
$cshowList :: [ShamAct] -> ShowS
showList :: [ShamAct] -> ShowS
Show)
data MistakeAct = MistakeAct
{ MistakeAct -> PersonId
mkActor :: PersonId
, MistakeAct -> ActId
mkActId :: ActId
} deriving (MistakeAct -> MistakeAct -> Bool
(MistakeAct -> MistakeAct -> Bool)
-> (MistakeAct -> MistakeAct -> Bool) -> Eq MistakeAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MistakeAct -> MistakeAct -> Bool
== :: MistakeAct -> MistakeAct -> Bool
$c/= :: MistakeAct -> MistakeAct -> Bool
/= :: MistakeAct -> MistakeAct -> Bool
Eq, Int -> MistakeAct -> ShowS
[MistakeAct] -> ShowS
MistakeAct -> String
(Int -> MistakeAct -> ShowS)
-> (MistakeAct -> String)
-> ([MistakeAct] -> ShowS)
-> Show MistakeAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MistakeAct -> ShowS
showsPrec :: Int -> MistakeAct -> ShowS
$cshow :: MistakeAct -> String
show :: MistakeAct -> String
$cshowList :: [MistakeAct] -> ShowS
showList :: [MistakeAct] -> ShowS
Show)
data FraudAct = FraudAct
{ FraudAct -> PersonId
faActor :: PersonId
, FraudAct -> ActId
faActId :: ActId
} deriving (FraudAct -> FraudAct -> Bool
(FraudAct -> FraudAct -> Bool)
-> (FraudAct -> FraudAct -> Bool) -> Eq FraudAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FraudAct -> FraudAct -> Bool
== :: FraudAct -> FraudAct -> Bool
$c/= :: FraudAct -> FraudAct -> Bool
/= :: FraudAct -> FraudAct -> Bool
Eq, Int -> FraudAct -> ShowS
[FraudAct] -> ShowS
FraudAct -> String
(Int -> FraudAct -> ShowS)
-> (FraudAct -> String) -> ([FraudAct] -> ShowS) -> Show FraudAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FraudAct -> ShowS
showsPrec :: Int -> FraudAct -> ShowS
$cshow :: FraudAct -> String
show :: FraudAct -> String
$cshowList :: [FraudAct] -> ShowS
showList :: [FraudAct] -> ShowS
Show)
data AuthAgencyAct = AuthAgencyAct
{ AuthAgencyAct -> PersonId
aaaPrincipal :: PersonId
, AuthAgencyAct -> PersonId
aaaAgent :: PersonId
, AuthAgencyAct -> ActId
aaaActId :: ActId
} deriving (AuthAgencyAct -> AuthAgencyAct -> Bool
(AuthAgencyAct -> AuthAgencyAct -> Bool)
-> (AuthAgencyAct -> AuthAgencyAct -> Bool) -> Eq AuthAgencyAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AuthAgencyAct -> AuthAgencyAct -> Bool
== :: AuthAgencyAct -> AuthAgencyAct -> Bool
$c/= :: AuthAgencyAct -> AuthAgencyAct -> Bool
/= :: AuthAgencyAct -> AuthAgencyAct -> Bool
Eq, Int -> AuthAgencyAct -> ShowS
[AuthAgencyAct] -> ShowS
AuthAgencyAct -> String
(Int -> AuthAgencyAct -> ShowS)
-> (AuthAgencyAct -> String)
-> ([AuthAgencyAct] -> ShowS)
-> Show AuthAgencyAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AuthAgencyAct -> ShowS
showsPrec :: Int -> AuthAgencyAct -> ShowS
$cshow :: AuthAgencyAct -> String
show :: AuthAgencyAct -> String
$cshowList :: [AuthAgencyAct] -> ShowS
showList :: [AuthAgencyAct] -> ShowS
Show)
data UnauthAgencyAct = UnauthAgencyAct
{ UnauthAgencyAct -> PersonId
uaaPrincipal :: PersonId
, UnauthAgencyAct -> PersonId
uaaAgent :: PersonId
, UnauthAgencyAct -> ActId
uaaActId :: ActId
} deriving (UnauthAgencyAct -> UnauthAgencyAct -> Bool
(UnauthAgencyAct -> UnauthAgencyAct -> Bool)
-> (UnauthAgencyAct -> UnauthAgencyAct -> Bool)
-> Eq UnauthAgencyAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: UnauthAgencyAct -> UnauthAgencyAct -> Bool
== :: UnauthAgencyAct -> UnauthAgencyAct -> Bool
$c/= :: UnauthAgencyAct -> UnauthAgencyAct -> Bool
/= :: UnauthAgencyAct -> UnauthAgencyAct -> Bool
Eq, Int -> UnauthAgencyAct -> ShowS
[UnauthAgencyAct] -> ShowS
UnauthAgencyAct -> String
(Int -> UnauthAgencyAct -> ShowS)
-> (UnauthAgencyAct -> String)
-> ([UnauthAgencyAct] -> ShowS)
-> Show UnauthAgencyAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> UnauthAgencyAct -> ShowS
showsPrec :: Int -> UnauthAgencyAct -> ShowS
$cshow :: UnauthAgencyAct -> String
show :: UnauthAgencyAct -> String
$cshowList :: [UnauthAgencyAct] -> ShowS
showList :: [UnauthAgencyAct] -> ShowS
Show)
data PossessionAct = PossessionAct
{ PossessionAct -> PersonId
paActor :: PersonId
, PossessionAct -> ActId
paActId :: ActId
} deriving (PossessionAct -> PossessionAct -> Bool
(PossessionAct -> PossessionAct -> Bool)
-> (PossessionAct -> PossessionAct -> Bool) -> Eq PossessionAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PossessionAct -> PossessionAct -> Bool
== :: PossessionAct -> PossessionAct -> Bool
$c/= :: PossessionAct -> PossessionAct -> Bool
/= :: PossessionAct -> PossessionAct -> Bool
Eq, Int -> PossessionAct -> ShowS
[PossessionAct] -> ShowS
PossessionAct -> String
(Int -> PossessionAct -> ShowS)
-> (PossessionAct -> String)
-> ([PossessionAct] -> ShowS)
-> Show PossessionAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PossessionAct -> ShowS
showsPrec :: Int -> PossessionAct -> ShowS
$cshow :: PossessionAct -> String
show :: PossessionAct -> String
$cshowList :: [PossessionAct] -> ShowS
showList :: [PossessionAct] -> ShowS
Show)
data PrescriptionAct = PrescriptionAct
{ PrescriptionAct -> PersonId
prCreditor :: PersonId
, PrescriptionAct -> ActId
prClaimId :: ActId
} deriving (PrescriptionAct -> PrescriptionAct -> Bool
(PrescriptionAct -> PrescriptionAct -> Bool)
-> (PrescriptionAct -> PrescriptionAct -> Bool)
-> Eq PrescriptionAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PrescriptionAct -> PrescriptionAct -> Bool
== :: PrescriptionAct -> PrescriptionAct -> Bool
$c/= :: PrescriptionAct -> PrescriptionAct -> Bool
/= :: PrescriptionAct -> PrescriptionAct -> Bool
Eq, Int -> PrescriptionAct -> ShowS
[PrescriptionAct] -> ShowS
PrescriptionAct -> String
(Int -> PrescriptionAct -> ShowS)
-> (PrescriptionAct -> String)
-> ([PrescriptionAct] -> ShowS)
-> Show PrescriptionAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PrescriptionAct -> ShowS
showsPrec :: Int -> PrescriptionAct -> ShowS
$cshow :: PrescriptionAct -> String
show :: PrescriptionAct -> String
$cshowList :: [PrescriptionAct] -> ShowS
showList :: [PrescriptionAct] -> ShowS
Show)
data PrescriptionFacts = PrescriptionFacts
{ PrescriptionFacts -> Day
pfClaimDate :: Day
, PrescriptionFacts -> Day
pfCurrentDate :: Day
, PrescriptionFacts -> Int
pfPeriodYears :: Int
, PrescriptionFacts -> Maybe Day
pfInterruptedOn :: Maybe Day
} deriving (PrescriptionFacts -> PrescriptionFacts -> Bool
(PrescriptionFacts -> PrescriptionFacts -> Bool)
-> (PrescriptionFacts -> PrescriptionFacts -> Bool)
-> Eq PrescriptionFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PrescriptionFacts -> PrescriptionFacts -> Bool
== :: PrescriptionFacts -> PrescriptionFacts -> Bool
$c/= :: PrescriptionFacts -> PrescriptionFacts -> Bool
/= :: PrescriptionFacts -> PrescriptionFacts -> Bool
Eq, Int -> PrescriptionFacts -> ShowS
[PrescriptionFacts] -> ShowS
PrescriptionFacts -> String
(Int -> PrescriptionFacts -> ShowS)
-> (PrescriptionFacts -> String)
-> ([PrescriptionFacts] -> ShowS)
-> Show PrescriptionFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PrescriptionFacts -> ShowS
showsPrec :: Int -> PrescriptionFacts -> ShowS
$cshow :: PrescriptionFacts -> String
show :: PrescriptionFacts -> String
$cshowList :: [PrescriptionFacts] -> ShowS
showList :: [PrescriptionFacts] -> ShowS
Show)
data CoOwnershipAct = CoOwnershipAct
{ CoOwnershipAct -> ActId
coActId :: ActId
} deriving (CoOwnershipAct -> CoOwnershipAct -> Bool
(CoOwnershipAct -> CoOwnershipAct -> Bool)
-> (CoOwnershipAct -> CoOwnershipAct -> Bool) -> Eq CoOwnershipAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CoOwnershipAct -> CoOwnershipAct -> Bool
== :: CoOwnershipAct -> CoOwnershipAct -> Bool
$c/= :: CoOwnershipAct -> CoOwnershipAct -> Bool
/= :: CoOwnershipAct -> CoOwnershipAct -> Bool
Eq, Int -> CoOwnershipAct -> ShowS
[CoOwnershipAct] -> ShowS
CoOwnershipAct -> String
(Int -> CoOwnershipAct -> ShowS)
-> (CoOwnershipAct -> String)
-> ([CoOwnershipAct] -> ShowS)
-> Show CoOwnershipAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CoOwnershipAct -> ShowS
showsPrec :: Int -> CoOwnershipAct -> ShowS
$cshow :: CoOwnershipAct -> String
show :: CoOwnershipAct -> String
$cshowList :: [CoOwnershipAct] -> ShowS
showList :: [CoOwnershipAct] -> ShowS
Show)
data CoOwnershipFacts = CoOwnershipFacts
{ CoOwnershipFacts -> [PersonId]
cofOwners :: [PersonId]
, CoOwnershipFacts -> Set PersonId
cofConsented :: Set PersonId
} deriving (CoOwnershipFacts -> CoOwnershipFacts -> Bool
(CoOwnershipFacts -> CoOwnershipFacts -> Bool)
-> (CoOwnershipFacts -> CoOwnershipFacts -> Bool)
-> Eq CoOwnershipFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CoOwnershipFacts -> CoOwnershipFacts -> Bool
== :: CoOwnershipFacts -> CoOwnershipFacts -> Bool
$c/= :: CoOwnershipFacts -> CoOwnershipFacts -> Bool
/= :: CoOwnershipFacts -> CoOwnershipFacts -> Bool
Eq, Int -> CoOwnershipFacts -> ShowS
[CoOwnershipFacts] -> ShowS
CoOwnershipFacts -> String
(Int -> CoOwnershipFacts -> ShowS)
-> (CoOwnershipFacts -> String)
-> ([CoOwnershipFacts] -> ShowS)
-> Show CoOwnershipFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CoOwnershipFacts -> ShowS
showsPrec :: Int -> CoOwnershipFacts -> ShowS
$cshow :: CoOwnershipFacts -> String
show :: CoOwnershipFacts -> String
$cshowList :: [CoOwnershipFacts] -> ShowS
showList :: [CoOwnershipFacts] -> ShowS
Show)
data TortAct = TortAct
{ TortAct -> PersonId
taVictim :: PersonId
, TortAct -> PersonId
taTortfeasor :: PersonId
, TortAct -> ActId
taActId :: ActId
} deriving (TortAct -> TortAct -> Bool
(TortAct -> TortAct -> Bool)
-> (TortAct -> TortAct -> Bool) -> Eq TortAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TortAct -> TortAct -> Bool
== :: TortAct -> TortAct -> Bool
$c/= :: TortAct -> TortAct -> Bool
/= :: TortAct -> TortAct -> Bool
Eq, Int -> TortAct -> ShowS
[TortAct] -> ShowS
TortAct -> String
(Int -> TortAct -> ShowS)
-> (TortAct -> String) -> ([TortAct] -> ShowS) -> Show TortAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TortAct -> ShowS
showsPrec :: Int -> TortAct -> ShowS
$cshow :: TortAct -> String
show :: TortAct -> String
$cshowList :: [TortAct] -> ShowS
showList :: [TortAct] -> ShowS
Show)
data TortFacts = TortFacts
{ TortFacts -> Bool
tfFault :: Bool
, TortFacts -> Bool
tfUnlawful :: Bool
, TortFacts -> Bool
tfDamage :: Bool
, TortFacts -> Bool
tfCausation :: Bool
, TortFacts -> Bool
tfVictimNeg :: Bool
} deriving (TortFacts -> TortFacts -> Bool
(TortFacts -> TortFacts -> Bool)
-> (TortFacts -> TortFacts -> Bool) -> Eq TortFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TortFacts -> TortFacts -> Bool
== :: TortFacts -> TortFacts -> Bool
$c/= :: TortFacts -> TortFacts -> Bool
/= :: TortFacts -> TortFacts -> Bool
Eq, Int -> TortFacts -> ShowS
[TortFacts] -> ShowS
TortFacts -> String
(Int -> TortFacts -> ShowS)
-> (TortFacts -> String)
-> ([TortFacts] -> ShowS)
-> Show TortFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TortFacts -> ShowS
showsPrec :: Int -> TortFacts -> ShowS
$cshow :: TortFacts -> String
show :: TortFacts -> String
$cshowList :: [TortFacts] -> ShowS
showList :: [TortFacts] -> ShowS
Show)
data Ratification
data ApparentAuth
data Presumption
data Rebuttal
data Expiration
data Interruption
data ContributoryNeg
data FormException
data ShortPrescription
data CreditorDefense
data BuyerKnowledge
data RenewalRight
data CounterpartyKnowledge
data HypotheticalIntent
data Conversion
data GeneralRatification
data ConstructiveRatification
data IllegalCondition
data BadFaithCondition
data RescissionAct = RescissionAct
{ RescissionAct -> PersonId
raActor :: PersonId
, RescissionAct -> ActId
raActId :: ActId
} deriving (RescissionAct -> RescissionAct -> Bool
(RescissionAct -> RescissionAct -> Bool)
-> (RescissionAct -> RescissionAct -> Bool) -> Eq RescissionAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RescissionAct -> RescissionAct -> Bool
== :: RescissionAct -> RescissionAct -> Bool
$c/= :: RescissionAct -> RescissionAct -> Bool
/= :: RescissionAct -> RescissionAct -> Bool
Eq, Int -> RescissionAct -> ShowS
[RescissionAct] -> ShowS
RescissionAct -> String
(Int -> RescissionAct -> ShowS)
-> (RescissionAct -> String)
-> ([RescissionAct] -> ShowS)
-> Show RescissionAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RescissionAct -> ShowS
showsPrec :: Int -> RescissionAct -> ShowS
$cshow :: RescissionAct -> String
show :: RescissionAct -> String
$cshowList :: [RescissionAct] -> ShowS
showList :: [RescissionAct] -> ShowS
Show)
data RescissionFacts = RescissionFacts
{ RescissionFacts -> Day
rfKnowledgeDate :: Day
, RescissionFacts -> Day
rfActDate :: Day
, RescissionFacts -> Day
rfCurrentDate :: Day
} deriving (RescissionFacts -> RescissionFacts -> Bool
(RescissionFacts -> RescissionFacts -> Bool)
-> (RescissionFacts -> RescissionFacts -> Bool)
-> Eq RescissionFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RescissionFacts -> RescissionFacts -> Bool
== :: RescissionFacts -> RescissionFacts -> Bool
$c/= :: RescissionFacts -> RescissionFacts -> Bool
/= :: RescissionFacts -> RescissionFacts -> Bool
Eq, Int -> RescissionFacts -> ShowS
[RescissionFacts] -> ShowS
RescissionFacts -> String
(Int -> RescissionFacts -> ShowS)
-> (RescissionFacts -> String)
-> ([RescissionFacts] -> ShowS)
-> Show RescissionFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RescissionFacts -> ShowS
showsPrec :: Int -> RescissionFacts -> ShowS
$cshow :: RescissionFacts -> String
show :: RescissionFacts -> String
$cshowList :: [RescissionFacts] -> ShowS
showList :: [RescissionFacts] -> ShowS
Show)
data PropertyTransferAct = PropertyTransferAct
{ PropertyTransferAct -> PersonId
ptActor :: PersonId
, PropertyTransferAct -> ActId
ptActId :: ActId
} deriving (PropertyTransferAct -> PropertyTransferAct -> Bool
(PropertyTransferAct -> PropertyTransferAct -> Bool)
-> (PropertyTransferAct -> PropertyTransferAct -> Bool)
-> Eq PropertyTransferAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PropertyTransferAct -> PropertyTransferAct -> Bool
== :: PropertyTransferAct -> PropertyTransferAct -> Bool
$c/= :: PropertyTransferAct -> PropertyTransferAct -> Bool
/= :: PropertyTransferAct -> PropertyTransferAct -> Bool
Eq, Int -> PropertyTransferAct -> ShowS
[PropertyTransferAct] -> ShowS
PropertyTransferAct -> String
(Int -> PropertyTransferAct -> ShowS)
-> (PropertyTransferAct -> String)
-> ([PropertyTransferAct] -> ShowS)
-> Show PropertyTransferAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PropertyTransferAct -> ShowS
showsPrec :: Int -> PropertyTransferAct -> ShowS
$cshow :: PropertyTransferAct -> String
show :: PropertyTransferAct -> String
$cshowList :: [PropertyTransferAct] -> ShowS
showList :: [PropertyTransferAct] -> ShowS
Show)
data AcqPrescriptionAct = AcqPrescriptionAct
{ AcqPrescriptionAct -> PersonId
apActor :: PersonId
, AcqPrescriptionAct -> ActId
apActId :: ActId
} deriving (AcqPrescriptionAct -> AcqPrescriptionAct -> Bool
(AcqPrescriptionAct -> AcqPrescriptionAct -> Bool)
-> (AcqPrescriptionAct -> AcqPrescriptionAct -> Bool)
-> Eq AcqPrescriptionAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AcqPrescriptionAct -> AcqPrescriptionAct -> Bool
== :: AcqPrescriptionAct -> AcqPrescriptionAct -> Bool
$c/= :: AcqPrescriptionAct -> AcqPrescriptionAct -> Bool
/= :: AcqPrescriptionAct -> AcqPrescriptionAct -> Bool
Eq, Int -> AcqPrescriptionAct -> ShowS
[AcqPrescriptionAct] -> ShowS
AcqPrescriptionAct -> String
(Int -> AcqPrescriptionAct -> ShowS)
-> (AcqPrescriptionAct -> String)
-> ([AcqPrescriptionAct] -> ShowS)
-> Show AcqPrescriptionAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AcqPrescriptionAct -> ShowS
showsPrec :: Int -> AcqPrescriptionAct -> ShowS
$cshow :: AcqPrescriptionAct -> String
show :: AcqPrescriptionAct -> String
$cshowList :: [AcqPrescriptionAct] -> ShowS
showList :: [AcqPrescriptionAct] -> ShowS
Show)
data AcqPrescFacts = AcqPrescFacts
{ AcqPrescFacts -> Day
apfStartDate :: Day
, AcqPrescFacts -> Day
apfCurrentDate :: Day
, AcqPrescFacts -> Bool
apfGoodFaith :: Bool
, AcqPrescFacts -> Bool
apfNoNegligence :: Bool
, AcqPrescFacts -> Bool
apfPeaceful :: Bool
, AcqPrescFacts -> Bool
apfPublic :: Bool
, AcqPrescFacts -> Bool
apfSelfPossession :: Bool
} deriving (AcqPrescFacts -> AcqPrescFacts -> Bool
(AcqPrescFacts -> AcqPrescFacts -> Bool)
-> (AcqPrescFacts -> AcqPrescFacts -> Bool) -> Eq AcqPrescFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AcqPrescFacts -> AcqPrescFacts -> Bool
== :: AcqPrescFacts -> AcqPrescFacts -> Bool
$c/= :: AcqPrescFacts -> AcqPrescFacts -> Bool
/= :: AcqPrescFacts -> AcqPrescFacts -> Bool
Eq, Int -> AcqPrescFacts -> ShowS
[AcqPrescFacts] -> ShowS
AcqPrescFacts -> String
(Int -> AcqPrescFacts -> ShowS)
-> (AcqPrescFacts -> String)
-> ([AcqPrescFacts] -> ShowS)
-> Show AcqPrescFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AcqPrescFacts -> ShowS
showsPrec :: Int -> AcqPrescFacts -> ShowS
$cshow :: AcqPrescFacts -> String
show :: AcqPrescFacts -> String
$cshowList :: [AcqPrescFacts] -> ShowS
showList :: [AcqPrescFacts] -> ShowS
Show)
data DefaultAct = DefaultAct
{ DefaultAct -> PersonId
dfCreditor :: PersonId
, DefaultAct -> PersonId
dfDebtor :: PersonId
, DefaultAct -> ActId
dfActId :: ActId
} deriving (DefaultAct -> DefaultAct -> Bool
(DefaultAct -> DefaultAct -> Bool)
-> (DefaultAct -> DefaultAct -> Bool) -> Eq DefaultAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DefaultAct -> DefaultAct -> Bool
== :: DefaultAct -> DefaultAct -> Bool
$c/= :: DefaultAct -> DefaultAct -> Bool
/= :: DefaultAct -> DefaultAct -> Bool
Eq, Int -> DefaultAct -> ShowS
[DefaultAct] -> ShowS
DefaultAct -> String
(Int -> DefaultAct -> ShowS)
-> (DefaultAct -> String)
-> ([DefaultAct] -> ShowS)
-> Show DefaultAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DefaultAct -> ShowS
showsPrec :: Int -> DefaultAct -> ShowS
$cshow :: DefaultAct -> String
show :: DefaultAct -> String
$cshowList :: [DefaultAct] -> ShowS
showList :: [DefaultAct] -> ShowS
Show)
data DefaultFacts = DefaultFacts
{ DefaultFacts -> Bool
dfPerformanceDue :: Bool
, DefaultFacts -> Bool
dfNonPerformance :: Bool
, DefaultFacts -> Bool
dfDebtorFault :: Bool
, DefaultFacts -> Bool
dfImpossible :: Bool
, DefaultFacts -> Bool
dfCreditorFault :: Bool
} deriving (DefaultFacts -> DefaultFacts -> Bool
(DefaultFacts -> DefaultFacts -> Bool)
-> (DefaultFacts -> DefaultFacts -> Bool) -> Eq DefaultFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DefaultFacts -> DefaultFacts -> Bool
== :: DefaultFacts -> DefaultFacts -> Bool
$c/= :: DefaultFacts -> DefaultFacts -> Bool
/= :: DefaultFacts -> DefaultFacts -> Bool
Eq, Int -> DefaultFacts -> ShowS
[DefaultFacts] -> ShowS
DefaultFacts -> String
(Int -> DefaultFacts -> ShowS)
-> (DefaultFacts -> String)
-> ([DefaultFacts] -> ShowS)
-> Show DefaultFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DefaultFacts -> ShowS
showsPrec :: Int -> DefaultFacts -> ShowS
$cshow :: DefaultFacts -> String
show :: DefaultFacts -> String
$cshowList :: [DefaultFacts] -> ShowS
showList :: [DefaultFacts] -> ShowS
Show)
data WarrantyAct = WarrantyAct
{ WarrantyAct -> PersonId
waActor :: PersonId
, WarrantyAct -> ActId
waActId :: ActId
} deriving (WarrantyAct -> WarrantyAct -> Bool
(WarrantyAct -> WarrantyAct -> Bool)
-> (WarrantyAct -> WarrantyAct -> Bool) -> Eq WarrantyAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WarrantyAct -> WarrantyAct -> Bool
== :: WarrantyAct -> WarrantyAct -> Bool
$c/= :: WarrantyAct -> WarrantyAct -> Bool
/= :: WarrantyAct -> WarrantyAct -> Bool
Eq, Int -> WarrantyAct -> ShowS
[WarrantyAct] -> ShowS
WarrantyAct -> String
(Int -> WarrantyAct -> ShowS)
-> (WarrantyAct -> String)
-> ([WarrantyAct] -> ShowS)
-> Show WarrantyAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> WarrantyAct -> ShowS
showsPrec :: Int -> WarrantyAct -> ShowS
$cshow :: WarrantyAct -> String
show :: WarrantyAct -> String
$cshowList :: [WarrantyAct] -> ShowS
showList :: [WarrantyAct] -> ShowS
Show)
data WarrantyFacts = WarrantyFacts
{ WarrantyFacts -> Bool
wfDefectExists :: Bool
, WarrantyFacts -> Bool
wfSignificant :: Bool
, WarrantyFacts -> Bool
wfBuyerKnew :: Bool
, WarrantyFacts -> Bool
wfNotifiedInTime :: Bool
} deriving (WarrantyFacts -> WarrantyFacts -> Bool
(WarrantyFacts -> WarrantyFacts -> Bool)
-> (WarrantyFacts -> WarrantyFacts -> Bool) -> Eq WarrantyFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WarrantyFacts -> WarrantyFacts -> Bool
== :: WarrantyFacts -> WarrantyFacts -> Bool
$c/= :: WarrantyFacts -> WarrantyFacts -> Bool
/= :: WarrantyFacts -> WarrantyFacts -> Bool
Eq, Int -> WarrantyFacts -> ShowS
[WarrantyFacts] -> ShowS
WarrantyFacts -> String
(Int -> WarrantyFacts -> ShowS)
-> (WarrantyFacts -> String)
-> ([WarrantyFacts] -> ShowS)
-> Show WarrantyFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> WarrantyFacts -> ShowS
showsPrec :: Int -> WarrantyFacts -> ShowS
$cshow :: WarrantyFacts -> String
show :: WarrantyFacts -> String
$cshowList :: [WarrantyFacts] -> ShowS
showList :: [WarrantyFacts] -> ShowS
Show)
data LeaseAct = LeaseAct
{ LeaseAct -> PersonId
laLessor :: PersonId
, LeaseAct -> PersonId
laLessee :: PersonId
, LeaseAct -> ActId
laActId :: ActId
} deriving (LeaseAct -> LeaseAct -> Bool
(LeaseAct -> LeaseAct -> Bool)
-> (LeaseAct -> LeaseAct -> Bool) -> Eq LeaseAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LeaseAct -> LeaseAct -> Bool
== :: LeaseAct -> LeaseAct -> Bool
$c/= :: LeaseAct -> LeaseAct -> Bool
/= :: LeaseAct -> LeaseAct -> Bool
Eq, Int -> LeaseAct -> ShowS
[LeaseAct] -> ShowS
LeaseAct -> String
(Int -> LeaseAct -> ShowS)
-> (LeaseAct -> String) -> ([LeaseAct] -> ShowS) -> Show LeaseAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LeaseAct -> ShowS
showsPrec :: Int -> LeaseAct -> ShowS
$cshow :: LeaseAct -> String
show :: LeaseAct -> String
$cshowList :: [LeaseAct] -> ShowS
showList :: [LeaseAct] -> ShowS
Show)
data LeaseFacts = LeaseFacts
{ LeaseFacts -> Bool
lfValidContract :: Bool
, LeaseFacts -> Bool
lfRentPaid :: Bool
, LeaseFacts -> Bool
lfPeriodExpired :: Bool
, LeaseFacts -> Bool
lfContinuedUse :: Bool
, LeaseFacts -> Bool
lfNoObjection :: Bool
, LeaseFacts -> Bool
lfTwoRentsLate :: Bool
} deriving (LeaseFacts -> LeaseFacts -> Bool
(LeaseFacts -> LeaseFacts -> Bool)
-> (LeaseFacts -> LeaseFacts -> Bool) -> Eq LeaseFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LeaseFacts -> LeaseFacts -> Bool
== :: LeaseFacts -> LeaseFacts -> Bool
$c/= :: LeaseFacts -> LeaseFacts -> Bool
/= :: LeaseFacts -> LeaseFacts -> Bool
Eq, Int -> LeaseFacts -> ShowS
[LeaseFacts] -> ShowS
LeaseFacts -> String
(Int -> LeaseFacts -> ShowS)
-> (LeaseFacts -> String)
-> ([LeaseFacts] -> ShowS)
-> Show LeaseFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LeaseFacts -> ShowS
showsPrec :: Int -> LeaseFacts -> ShowS
$cshow :: LeaseFacts -> String
show :: LeaseFacts -> String
$cshowList :: [LeaseFacts] -> ShowS
showList :: [LeaseFacts] -> ShowS
Show)
data AgencyWithdrawalAct = AgencyWithdrawalAct
{ AgencyWithdrawalAct -> PersonId
awPrincipal :: PersonId
, AgencyWithdrawalAct -> PersonId
awCounterparty :: PersonId
, AgencyWithdrawalAct -> ActId
awActId :: ActId
} deriving (AgencyWithdrawalAct -> AgencyWithdrawalAct -> Bool
(AgencyWithdrawalAct -> AgencyWithdrawalAct -> Bool)
-> (AgencyWithdrawalAct -> AgencyWithdrawalAct -> Bool)
-> Eq AgencyWithdrawalAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AgencyWithdrawalAct -> AgencyWithdrawalAct -> Bool
== :: AgencyWithdrawalAct -> AgencyWithdrawalAct -> Bool
$c/= :: AgencyWithdrawalAct -> AgencyWithdrawalAct -> Bool
/= :: AgencyWithdrawalAct -> AgencyWithdrawalAct -> Bool
Eq, Int -> AgencyWithdrawalAct -> ShowS
[AgencyWithdrawalAct] -> ShowS
AgencyWithdrawalAct -> String
(Int -> AgencyWithdrawalAct -> ShowS)
-> (AgencyWithdrawalAct -> String)
-> ([AgencyWithdrawalAct] -> ShowS)
-> Show AgencyWithdrawalAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AgencyWithdrawalAct -> ShowS
showsPrec :: Int -> AgencyWithdrawalAct -> ShowS
$cshow :: AgencyWithdrawalAct -> String
show :: AgencyWithdrawalAct -> String
$cshowList :: [AgencyWithdrawalAct] -> ShowS
showList :: [AgencyWithdrawalAct] -> ShowS
Show)
data AgentLiabilityAct = AgentLiabilityAct
{ AgentLiabilityAct -> PersonId
alAgent :: PersonId
, AgentLiabilityAct -> PersonId
alCounterparty :: PersonId
, AgentLiabilityAct -> ActId
alActId :: ActId
} deriving (AgentLiabilityAct -> AgentLiabilityAct -> Bool
(AgentLiabilityAct -> AgentLiabilityAct -> Bool)
-> (AgentLiabilityAct -> AgentLiabilityAct -> Bool)
-> Eq AgentLiabilityAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AgentLiabilityAct -> AgentLiabilityAct -> Bool
== :: AgentLiabilityAct -> AgentLiabilityAct -> Bool
$c/= :: AgentLiabilityAct -> AgentLiabilityAct -> Bool
/= :: AgentLiabilityAct -> AgentLiabilityAct -> Bool
Eq, Int -> AgentLiabilityAct -> ShowS
[AgentLiabilityAct] -> ShowS
AgentLiabilityAct -> String
(Int -> AgentLiabilityAct -> ShowS)
-> (AgentLiabilityAct -> String)
-> ([AgentLiabilityAct] -> ShowS)
-> Show AgentLiabilityAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AgentLiabilityAct -> ShowS
showsPrec :: Int -> AgentLiabilityAct -> ShowS
$cshow :: AgentLiabilityAct -> String
show :: AgentLiabilityAct -> String
$cshowList :: [AgentLiabilityAct] -> ShowS
showList :: [AgentLiabilityAct] -> ShowS
Show)
data PartialInvalidityAct = PartialInvalidityAct
{ PartialInvalidityAct -> ActId
piActId :: ActId
} deriving (PartialInvalidityAct -> PartialInvalidityAct -> Bool
(PartialInvalidityAct -> PartialInvalidityAct -> Bool)
-> (PartialInvalidityAct -> PartialInvalidityAct -> Bool)
-> Eq PartialInvalidityAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PartialInvalidityAct -> PartialInvalidityAct -> Bool
== :: PartialInvalidityAct -> PartialInvalidityAct -> Bool
$c/= :: PartialInvalidityAct -> PartialInvalidityAct -> Bool
/= :: PartialInvalidityAct -> PartialInvalidityAct -> Bool
Eq, Int -> PartialInvalidityAct -> ShowS
[PartialInvalidityAct] -> ShowS
PartialInvalidityAct -> String
(Int -> PartialInvalidityAct -> ShowS)
-> (PartialInvalidityAct -> String)
-> ([PartialInvalidityAct] -> ShowS)
-> Show PartialInvalidityAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PartialInvalidityAct -> ShowS
showsPrec :: Int -> PartialInvalidityAct -> ShowS
$cshow :: PartialInvalidityAct -> String
show :: PartialInvalidityAct -> String
$cshowList :: [PartialInvalidityAct] -> ShowS
showList :: [PartialInvalidityAct] -> ShowS
Show)
data PartialInvalidityFacts = PartialInvalidityFacts
{ PartialInvalidityFacts -> Bool
pifPartVoid :: Bool
, PartialInvalidityFacts -> Bool
pifHypotheticalIntent :: Bool
, PartialInvalidityFacts -> Bool
pifMeetsOtherReqs :: Bool
, PartialInvalidityFacts -> Bool
pifConversionIntent :: Bool
, PartialInvalidityFacts -> Bool
pifRatifiedWithKnowledge :: Bool
} deriving (PartialInvalidityFacts -> PartialInvalidityFacts -> Bool
(PartialInvalidityFacts -> PartialInvalidityFacts -> Bool)
-> (PartialInvalidityFacts -> PartialInvalidityFacts -> Bool)
-> Eq PartialInvalidityFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PartialInvalidityFacts -> PartialInvalidityFacts -> Bool
== :: PartialInvalidityFacts -> PartialInvalidityFacts -> Bool
$c/= :: PartialInvalidityFacts -> PartialInvalidityFacts -> Bool
/= :: PartialInvalidityFacts -> PartialInvalidityFacts -> Bool
Eq, Int -> PartialInvalidityFacts -> ShowS
[PartialInvalidityFacts] -> ShowS
PartialInvalidityFacts -> String
(Int -> PartialInvalidityFacts -> ShowS)
-> (PartialInvalidityFacts -> String)
-> ([PartialInvalidityFacts] -> ShowS)
-> Show PartialInvalidityFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PartialInvalidityFacts -> ShowS
showsPrec :: Int -> PartialInvalidityFacts -> ShowS
$cshow :: PartialInvalidityFacts -> String
show :: PartialInvalidityFacts -> String
$cshowList :: [PartialInvalidityFacts] -> ShowS
showList :: [PartialInvalidityFacts] -> ShowS
Show)
data CancellableAct = CancellableAct
{ CancellableAct -> ActId
caActId :: ActId
, CancellableAct -> Verdict
caPriorVerdict :: Verdict
} deriving (CancellableAct -> CancellableAct -> Bool
(CancellableAct -> CancellableAct -> Bool)
-> (CancellableAct -> CancellableAct -> Bool) -> Eq CancellableAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CancellableAct -> CancellableAct -> Bool
== :: CancellableAct -> CancellableAct -> Bool
$c/= :: CancellableAct -> CancellableAct -> Bool
/= :: CancellableAct -> CancellableAct -> Bool
Eq, Int -> CancellableAct -> ShowS
[CancellableAct] -> ShowS
CancellableAct -> String
(Int -> CancellableAct -> ShowS)
-> (CancellableAct -> String)
-> ([CancellableAct] -> ShowS)
-> Show CancellableAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CancellableAct -> ShowS
showsPrec :: Int -> CancellableAct -> ShowS
$cshow :: CancellableAct -> String
show :: CancellableAct -> String
$cshowList :: [CancellableAct] -> ShowS
showList :: [CancellableAct] -> ShowS
Show)
data CancellationFacts = CancellationFacts
{ CancellationFacts -> Bool
cnfCancelled :: Bool
, CancellationFacts -> Bool
cnfRatified :: Bool
, CancellationFacts -> Bool
cnfCauseCeased :: Bool
, CancellationFacts -> Bool
cnfRatifierIsGuardian :: Bool
, CancellationFacts -> Maybe ConstructiveRatificationEvent
cnfConstructive :: Maybe ConstructiveRatificationEvent
, CancellationFacts -> Bool
cnfObjectionReserved :: Bool
} deriving (CancellationFacts -> CancellationFacts -> Bool
(CancellationFacts -> CancellationFacts -> Bool)
-> (CancellationFacts -> CancellationFacts -> Bool)
-> Eq CancellationFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CancellationFacts -> CancellationFacts -> Bool
== :: CancellationFacts -> CancellationFacts -> Bool
$c/= :: CancellationFacts -> CancellationFacts -> Bool
/= :: CancellationFacts -> CancellationFacts -> Bool
Eq, Int -> CancellationFacts -> ShowS
[CancellationFacts] -> ShowS
CancellationFacts -> String
(Int -> CancellationFacts -> ShowS)
-> (CancellationFacts -> String)
-> ([CancellationFacts] -> ShowS)
-> Show CancellationFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CancellationFacts -> ShowS
showsPrec :: Int -> CancellationFacts -> ShowS
$cshow :: CancellationFacts -> String
show :: CancellationFacts -> String
$cshowList :: [CancellationFacts] -> ShowS
showList :: [CancellationFacts] -> ShowS
Show)
data ConstructiveRatificationEvent
= FullOrPartialPerformance
| DemandForPerformance
| Novation
| SecurityProvision
| RightAssignment
| CompulsoryExecution
deriving (ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
(ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool)
-> (ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool)
-> Eq ConstructiveRatificationEvent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
== :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
$c/= :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
/= :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
Eq, Eq ConstructiveRatificationEvent
Eq ConstructiveRatificationEvent =>
(ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Ordering)
-> (ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool)
-> (ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool)
-> (ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool)
-> (ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool)
-> (ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> ConstructiveRatificationEvent)
-> (ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> ConstructiveRatificationEvent)
-> Ord ConstructiveRatificationEvent
ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Ordering
ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> ConstructiveRatificationEvent
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Ordering
compare :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Ordering
$c< :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
< :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
$c<= :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
<= :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
$c> :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
> :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
$c>= :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
>= :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> Bool
$cmax :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> ConstructiveRatificationEvent
max :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> ConstructiveRatificationEvent
$cmin :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> ConstructiveRatificationEvent
min :: ConstructiveRatificationEvent
-> ConstructiveRatificationEvent -> ConstructiveRatificationEvent
Ord, Int -> ConstructiveRatificationEvent -> ShowS
[ConstructiveRatificationEvent] -> ShowS
ConstructiveRatificationEvent -> String
(Int -> ConstructiveRatificationEvent -> ShowS)
-> (ConstructiveRatificationEvent -> String)
-> ([ConstructiveRatificationEvent] -> ShowS)
-> Show ConstructiveRatificationEvent
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConstructiveRatificationEvent -> ShowS
showsPrec :: Int -> ConstructiveRatificationEvent -> ShowS
$cshow :: ConstructiveRatificationEvent -> String
show :: ConstructiveRatificationEvent -> String
$cshowList :: [ConstructiveRatificationEvent] -> ShowS
showList :: [ConstructiveRatificationEvent] -> ShowS
Show)
data ConditionalAct = ConditionalAct
{ ConditionalAct -> ActId
condActId :: ActId
} deriving (ConditionalAct -> ConditionalAct -> Bool
(ConditionalAct -> ConditionalAct -> Bool)
-> (ConditionalAct -> ConditionalAct -> Bool) -> Eq ConditionalAct
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConditionalAct -> ConditionalAct -> Bool
== :: ConditionalAct -> ConditionalAct -> Bool
$c/= :: ConditionalAct -> ConditionalAct -> Bool
/= :: ConditionalAct -> ConditionalAct -> Bool
Eq, Int -> ConditionalAct -> ShowS
[ConditionalAct] -> ShowS
ConditionalAct -> String
(Int -> ConditionalAct -> ShowS)
-> (ConditionalAct -> String)
-> ([ConditionalAct] -> ShowS)
-> Show ConditionalAct
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConditionalAct -> ShowS
showsPrec :: Int -> ConditionalAct -> ShowS
$cshow :: ConditionalAct -> String
show :: ConditionalAct -> String
$cshowList :: [ConditionalAct] -> ShowS
showList :: [ConditionalAct] -> ShowS
Show)
data ConditionType
= Suspensive
| Resolutive
| StartDate
| EndDate
deriving (ConditionType -> ConditionType -> Bool
(ConditionType -> ConditionType -> Bool)
-> (ConditionType -> ConditionType -> Bool) -> Eq ConditionType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConditionType -> ConditionType -> Bool
== :: ConditionType -> ConditionType -> Bool
$c/= :: ConditionType -> ConditionType -> Bool
/= :: ConditionType -> ConditionType -> Bool
Eq, Eq ConditionType
Eq ConditionType =>
(ConditionType -> ConditionType -> Ordering)
-> (ConditionType -> ConditionType -> Bool)
-> (ConditionType -> ConditionType -> Bool)
-> (ConditionType -> ConditionType -> Bool)
-> (ConditionType -> ConditionType -> Bool)
-> (ConditionType -> ConditionType -> ConditionType)
-> (ConditionType -> ConditionType -> ConditionType)
-> Ord ConditionType
ConditionType -> ConditionType -> Bool
ConditionType -> ConditionType -> Ordering
ConditionType -> ConditionType -> ConditionType
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: ConditionType -> ConditionType -> Ordering
compare :: ConditionType -> ConditionType -> Ordering
$c< :: ConditionType -> ConditionType -> Bool
< :: ConditionType -> ConditionType -> Bool
$c<= :: ConditionType -> ConditionType -> Bool
<= :: ConditionType -> ConditionType -> Bool
$c> :: ConditionType -> ConditionType -> Bool
> :: ConditionType -> ConditionType -> Bool
$c>= :: ConditionType -> ConditionType -> Bool
>= :: ConditionType -> ConditionType -> Bool
$cmax :: ConditionType -> ConditionType -> ConditionType
max :: ConditionType -> ConditionType -> ConditionType
$cmin :: ConditionType -> ConditionType -> ConditionType
min :: ConditionType -> ConditionType -> ConditionType
Ord, Int -> ConditionType -> ShowS
[ConditionType] -> ShowS
ConditionType -> String
(Int -> ConditionType -> ShowS)
-> (ConditionType -> String)
-> ([ConditionType] -> ShowS)
-> Show ConditionType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConditionType -> ShowS
showsPrec :: Int -> ConditionType -> ShowS
$cshow :: ConditionType -> String
show :: ConditionType -> String
$cshowList :: [ConditionType] -> ShowS
showList :: [ConditionType] -> ShowS
Show)
data ConditionState
= CondPending
| CondFulfilled
| CondImpossible
| CondIllegal
deriving (ConditionState -> ConditionState -> Bool
(ConditionState -> ConditionState -> Bool)
-> (ConditionState -> ConditionState -> Bool) -> Eq ConditionState
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConditionState -> ConditionState -> Bool
== :: ConditionState -> ConditionState -> Bool
$c/= :: ConditionState -> ConditionState -> Bool
/= :: ConditionState -> ConditionState -> Bool
Eq, Eq ConditionState
Eq ConditionState =>
(ConditionState -> ConditionState -> Ordering)
-> (ConditionState -> ConditionState -> Bool)
-> (ConditionState -> ConditionState -> Bool)
-> (ConditionState -> ConditionState -> Bool)
-> (ConditionState -> ConditionState -> Bool)
-> (ConditionState -> ConditionState -> ConditionState)
-> (ConditionState -> ConditionState -> ConditionState)
-> Ord ConditionState
ConditionState -> ConditionState -> Bool
ConditionState -> ConditionState -> Ordering
ConditionState -> ConditionState -> ConditionState
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: ConditionState -> ConditionState -> Ordering
compare :: ConditionState -> ConditionState -> Ordering
$c< :: ConditionState -> ConditionState -> Bool
< :: ConditionState -> ConditionState -> Bool
$c<= :: ConditionState -> ConditionState -> Bool
<= :: ConditionState -> ConditionState -> Bool
$c> :: ConditionState -> ConditionState -> Bool
> :: ConditionState -> ConditionState -> Bool
$c>= :: ConditionState -> ConditionState -> Bool
>= :: ConditionState -> ConditionState -> Bool
$cmax :: ConditionState -> ConditionState -> ConditionState
max :: ConditionState -> ConditionState -> ConditionState
$cmin :: ConditionState -> ConditionState -> ConditionState
min :: ConditionState -> ConditionState -> ConditionState
Ord, Int -> ConditionState -> ShowS
[ConditionState] -> ShowS
ConditionState -> String
(Int -> ConditionState -> ShowS)
-> (ConditionState -> String)
-> ([ConditionState] -> ShowS)
-> Show ConditionState
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConditionState -> ShowS
showsPrec :: Int -> ConditionState -> ShowS
$cshow :: ConditionState -> String
show :: ConditionState -> String
$cshowList :: [ConditionState] -> ShowS
showList :: [ConditionState] -> ShowS
Show)
data BadFaithKind
= BadFaithPrevention
| BadFaithCausation
deriving (BadFaithKind -> BadFaithKind -> Bool
(BadFaithKind -> BadFaithKind -> Bool)
-> (BadFaithKind -> BadFaithKind -> Bool) -> Eq BadFaithKind
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BadFaithKind -> BadFaithKind -> Bool
== :: BadFaithKind -> BadFaithKind -> Bool
$c/= :: BadFaithKind -> BadFaithKind -> Bool
/= :: BadFaithKind -> BadFaithKind -> Bool
Eq, Eq BadFaithKind
Eq BadFaithKind =>
(BadFaithKind -> BadFaithKind -> Ordering)
-> (BadFaithKind -> BadFaithKind -> Bool)
-> (BadFaithKind -> BadFaithKind -> Bool)
-> (BadFaithKind -> BadFaithKind -> Bool)
-> (BadFaithKind -> BadFaithKind -> Bool)
-> (BadFaithKind -> BadFaithKind -> BadFaithKind)
-> (BadFaithKind -> BadFaithKind -> BadFaithKind)
-> Ord BadFaithKind
BadFaithKind -> BadFaithKind -> Bool
BadFaithKind -> BadFaithKind -> Ordering
BadFaithKind -> BadFaithKind -> BadFaithKind
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: BadFaithKind -> BadFaithKind -> Ordering
compare :: BadFaithKind -> BadFaithKind -> Ordering
$c< :: BadFaithKind -> BadFaithKind -> Bool
< :: BadFaithKind -> BadFaithKind -> Bool
$c<= :: BadFaithKind -> BadFaithKind -> Bool
<= :: BadFaithKind -> BadFaithKind -> Bool
$c> :: BadFaithKind -> BadFaithKind -> Bool
> :: BadFaithKind -> BadFaithKind -> Bool
$c>= :: BadFaithKind -> BadFaithKind -> Bool
>= :: BadFaithKind -> BadFaithKind -> Bool
$cmax :: BadFaithKind -> BadFaithKind -> BadFaithKind
max :: BadFaithKind -> BadFaithKind -> BadFaithKind
$cmin :: BadFaithKind -> BadFaithKind -> BadFaithKind
min :: BadFaithKind -> BadFaithKind -> BadFaithKind
Ord, Int -> BadFaithKind -> ShowS
[BadFaithKind] -> ShowS
BadFaithKind -> String
(Int -> BadFaithKind -> ShowS)
-> (BadFaithKind -> String)
-> ([BadFaithKind] -> ShowS)
-> Show BadFaithKind
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BadFaithKind -> ShowS
showsPrec :: Int -> BadFaithKind -> ShowS
$cshow :: BadFaithKind -> String
show :: BadFaithKind -> String
$cshowList :: [BadFaithKind] -> ShowS
showList :: [BadFaithKind] -> ShowS
Show)
data ConditionalFacts = ConditionalFacts
{ ConditionalFacts -> ConditionType
condType :: ConditionType
, ConditionalFacts -> ConditionState
condState :: ConditionState
, ConditionalFacts -> Maybe BadFaithKind
condBadFaith :: Maybe BadFaithKind
} deriving (ConditionalFacts -> ConditionalFacts -> Bool
(ConditionalFacts -> ConditionalFacts -> Bool)
-> (ConditionalFacts -> ConditionalFacts -> Bool)
-> Eq ConditionalFacts
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConditionalFacts -> ConditionalFacts -> Bool
== :: ConditionalFacts -> ConditionalFacts -> Bool
$c/= :: ConditionalFacts -> ConditionalFacts -> Bool
/= :: ConditionalFacts -> ConditionalFacts -> Bool
Eq, Int -> ConditionalFacts -> ShowS
[ConditionalFacts] -> ShowS
ConditionalFacts -> String
(Int -> ConditionalFacts -> ShowS)
-> (ConditionalFacts -> String)
-> ([ConditionalFacts] -> ShowS)
-> Show ConditionalFacts
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConditionalFacts -> ShowS
showsPrec :: Int -> ConditionalFacts -> ShowS
$cshow :: ConditionalFacts -> String
show :: ConditionalFacts -> String
$cshowList :: [ConditionalFacts] -> ShowS
showList :: [ConditionalFacts] -> ShowS
Show)
data CivilFact
= IsNaturalPerson PersonId
| IsJuristicPerson PersonId
| IsMinor PersonId
| IsAdult PersonId
| HasGuardian PersonId PersonId
| HasConsent PersonId ActId
| PerformsAct PersonId ActId
| MerelyAcquiresRight
| ContraBonorsMores
| ExploitativeAct
| HiddenIntention
| CounterpartyKnew
| BonaFideThirdParty
| GrossNegligence
| ThirdPartyFraud
| CounterpartyKnewFraud
| SelfDealing
| IndicatedAuthority
| ExceededScope
| AuthorityExpired
| Ratified
| CounterpartyKnewNoAuthority
| AgentIsLimitedCapacity
| CounterpartyCouldHaveKnown
| BadFaith
| ViolentPossession
| ClandestinePossession
| NoOwnershipIntent
| HasRegistration
| HasDelivery
| IsRealProperty
| IsMovableProperty
| ByInheritance
| ByCourtOrder
| ByPublicAuction
| ByExpropriation
deriving (CivilFact -> CivilFact -> Bool
(CivilFact -> CivilFact -> Bool)
-> (CivilFact -> CivilFact -> Bool) -> Eq CivilFact
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CivilFact -> CivilFact -> Bool
== :: CivilFact -> CivilFact -> Bool
$c/= :: CivilFact -> CivilFact -> Bool
/= :: CivilFact -> CivilFact -> Bool
Eq, Eq CivilFact
Eq CivilFact =>
(CivilFact -> CivilFact -> Ordering)
-> (CivilFact -> CivilFact -> Bool)
-> (CivilFact -> CivilFact -> Bool)
-> (CivilFact -> CivilFact -> Bool)
-> (CivilFact -> CivilFact -> Bool)
-> (CivilFact -> CivilFact -> CivilFact)
-> (CivilFact -> CivilFact -> CivilFact)
-> Ord CivilFact
CivilFact -> CivilFact -> Bool
CivilFact -> CivilFact -> Ordering
CivilFact -> CivilFact -> CivilFact
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: CivilFact -> CivilFact -> Ordering
compare :: CivilFact -> CivilFact -> Ordering
$c< :: CivilFact -> CivilFact -> Bool
< :: CivilFact -> CivilFact -> Bool
$c<= :: CivilFact -> CivilFact -> Bool
<= :: CivilFact -> CivilFact -> Bool
$c> :: CivilFact -> CivilFact -> Bool
> :: CivilFact -> CivilFact -> Bool
$c>= :: CivilFact -> CivilFact -> Bool
>= :: CivilFact -> CivilFact -> Bool
$cmax :: CivilFact -> CivilFact -> CivilFact
max :: CivilFact -> CivilFact -> CivilFact
$cmin :: CivilFact -> CivilFact -> CivilFact
min :: CivilFact -> CivilFact -> CivilFact
Ord, Int -> CivilFact -> ShowS
[CivilFact] -> ShowS
CivilFact -> String
(Int -> CivilFact -> ShowS)
-> (CivilFact -> String)
-> ([CivilFact] -> ShowS)
-> Show CivilFact
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CivilFact -> ShowS
showsPrec :: Int -> CivilFact -> ShowS
$cshow :: CivilFact -> String
show :: CivilFact -> String
$cshowList :: [CivilFact] -> ShowS
showList :: [CivilFact] -> ShowS
Show)
type instance Facts MinorAct = Set CivilFact
type instance Facts JuristicAct = Set CivilFact
type instance Facts ShamAct = Set CivilFact
type instance Facts MistakeAct = Set CivilFact
type instance Facts FraudAct = Set CivilFact
type instance Facts AuthAgencyAct = Set CivilFact
type instance Facts UnauthAgencyAct = Set CivilFact
type instance Facts PossessionAct = Set CivilFact
type instance Facts PrescriptionAct = PrescriptionFacts
type instance Facts CoOwnershipAct = CoOwnershipFacts
type instance Facts TortAct = TortFacts
type instance Facts RescissionAct = RescissionFacts
type instance Facts PropertyTransferAct = Set CivilFact
type instance Facts AcqPrescriptionAct = AcqPrescFacts
type instance Facts DefaultAct = DefaultFacts
type instance Facts WarrantyAct = WarrantyFacts
type instance Facts LeaseAct = LeaseFacts
type instance Facts AgencyWithdrawalAct = Set CivilFact
type instance Facts AgentLiabilityAct = Set CivilFact
type instance Facts PartialInvalidityAct = PartialInvalidityFacts
type instance Facts CancellableAct = CancellationFacts
type instance Facts ConditionalAct = ConditionalFacts
data DomainKey a where
PrescriptionK :: DomainKey PrescriptionFacts
TortK :: DomainKey TortFacts
CoOwnershipK :: DomainKey CoOwnershipFacts
RescissionK :: DomainKey RescissionFacts
AcqPrescK :: DomainKey AcqPrescFacts
DefaultK :: DomainKey DefaultFacts
WarrantyK :: DomainKey WarrantyFacts
LeaseK :: DomainKey LeaseFacts
InvalidityK :: DomainKey PartialInvalidityFacts
CancellationK :: DomainKey CancellationFacts
ConditionalK :: DomainKey ConditionalFacts
domainKeyTag :: DomainKey a -> Int
domainKeyTag :: forall a. DomainKey a -> Int
domainKeyTag DomainKey a
PrescriptionK = Int
0
domainKeyTag DomainKey a
TortK = Int
1
domainKeyTag DomainKey a
CoOwnershipK = Int
2
domainKeyTag DomainKey a
RescissionK = Int
3
domainKeyTag DomainKey a
AcqPrescK = Int
4
domainKeyTag DomainKey a
DefaultK = Int
5
domainKeyTag DomainKey a
WarrantyK = Int
6
domainKeyTag DomainKey a
LeaseK = Int
7
domainKeyTag DomainKey a
InvalidityK = Int
8
domainKeyTag DomainKey a
CancellationK = Int
9
domainKeyTag DomainKey a
ConditionalK = Int
10
instance GEq DomainKey where
geq :: forall a b. DomainKey a -> DomainKey b -> Maybe (a :~: b)
geq DomainKey a
PrescriptionK DomainKey b
PrescriptionK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
TortK DomainKey b
TortK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
CoOwnershipK DomainKey b
CoOwnershipK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
RescissionK DomainKey b
RescissionK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
AcqPrescK DomainKey b
AcqPrescK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
DefaultK DomainKey b
DefaultK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
WarrantyK DomainKey b
WarrantyK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
LeaseK DomainKey b
LeaseK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
InvalidityK DomainKey b
InvalidityK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
CancellationK DomainKey b
CancellationK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
ConditionalK DomainKey b
ConditionalK = (a :~: b) -> Maybe (a :~: b)
forall a. a -> Maybe a
Just a :~: a
a :~: b
forall {k} (a :: k). a :~: a
Refl
geq DomainKey a
_ DomainKey b
_ = Maybe (a :~: b)
forall a. Maybe a
Nothing
instance GShow DomainKey where
gshowsPrec :: forall a. Int -> DomainKey a -> ShowS
gshowsPrec Int
_ DomainKey a
PrescriptionK = String -> ShowS
showString String
"PrescriptionK"
gshowsPrec Int
_ DomainKey a
TortK = String -> ShowS
showString String
"TortK"
gshowsPrec Int
_ DomainKey a
CoOwnershipK = String -> ShowS
showString String
"CoOwnershipK"
gshowsPrec Int
_ DomainKey a
RescissionK = String -> ShowS
showString String
"RescissionK"
gshowsPrec Int
_ DomainKey a
AcqPrescK = String -> ShowS
showString String
"AcqPrescK"
gshowsPrec Int
_ DomainKey a
DefaultK = String -> ShowS
showString String
"DefaultK"
gshowsPrec Int
_ DomainKey a
WarrantyK = String -> ShowS
showString String
"WarrantyK"
gshowsPrec Int
_ DomainKey a
LeaseK = String -> ShowS
showString String
"LeaseK"
gshowsPrec Int
_ DomainKey a
InvalidityK = String -> ShowS
showString String
"InvalidityK"
gshowsPrec Int
_ DomainKey a
CancellationK = String -> ShowS
showString String
"CancellationK"
gshowsPrec Int
_ DomainKey a
ConditionalK = String -> ShowS
showString String
"ConditionalK"
instance GCompare DomainKey where
gcompare :: forall a b. DomainKey a -> DomainKey b -> GOrdering a b
gcompare DomainKey a
a DomainKey b
b = case Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
compare (DomainKey a -> Int
forall a. DomainKey a -> Int
domainKeyTag DomainKey a
a) (DomainKey b -> Int
forall a. DomainKey a -> Int
domainKeyTag DomainKey b
b) of
Ordering
LT -> GOrdering a b
forall {k} (a :: k) (b :: k). GOrdering a b
GLT
Ordering
GT -> GOrdering a b
forall {k} (a :: k) (b :: k). GOrdering a b
GGT
Ordering
EQ -> case DomainKey a -> DomainKey b -> Maybe (a :~: b)
forall a b. DomainKey a -> DomainKey b -> Maybe (a :~: b)
forall k (f :: k -> *) (a :: k) (b :: k).
GEq f =>
f a -> f b -> Maybe (a :~: b)
geq DomainKey a
a DomainKey b
b of
Just a :~: b
Refl -> GOrdering a a
GOrdering a b
forall {k} (a :: k). GOrdering a a
GEQ
Maybe (a :~: b)
Nothing -> String -> GOrdering a b
forall a. HasCallStack => String -> a
error String
"DomainKey: tag collision (impossible)"