{-# OPTIONS_GHC -fno-warn-orphans     #-}

module Agda.TypeChecking.Serialise.Instances.Errors where

import Control.Monad

import Agda.TypeChecking.Serialise.Base
import Agda.TypeChecking.Serialise.Instances.Internal () --instance only
import Agda.TypeChecking.Serialise.Instances.Abstract () --instance only

import Agda.Syntax.Concrete.Definitions (DeclarationWarning(..))
import Agda.TypeChecking.Monad.Base
import Agda.Interaction.Options
import Agda.Interaction.Options.Warnings
import Agda.Interaction.Library
import Agda.Interaction.Library.Parse
import Agda.Termination.CutOff
import Agda.Utils.Pretty

import Agda.Utils.Impossible

instance EmbPrj TCWarning where
  icod_ :: TCWarning -> S Int32
icod_ (TCWarning a :: Range
a b :: Warning
b c :: Doc
c d :: Bool
d) = (Range -> Warning -> Doc -> Bool -> TCWarning)
-> Range -> Warning -> Doc -> Bool -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
t -> Arrows (Domains t) (S Int32)
icodeN' Range -> Warning -> Doc -> Bool -> TCWarning
TCWarning Range
a Warning
b Doc
c Bool
d

  value :: Int32 -> R TCWarning
value = (Range -> Warning -> Doc -> Bool -> TCWarning)
-> Int32
-> R (CoDomain (Range -> Warning -> Doc -> Bool -> TCWarning))
forall t.
(VALU t (IsBase t), All EmbPrj (CoDomain t : Domains t)) =>
t -> Int32 -> R (CoDomain t)
valueN Range -> Warning -> Doc -> Bool -> TCWarning
TCWarning

-- We don't need to serialise warnings that turn into errors
instance EmbPrj Warning where
  icod_ :: Warning -> S Int32
icod_ (TerminationIssue a :: [TerminationError]
a)         = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (UnreachableClauses a :: QName
a b :: [Range]
b)     = Int32
-> (QName -> [Range] -> Warning) -> QName -> [Range] -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 0 QName -> [Range] -> Warning
UnreachableClauses QName
a [Range]
b
  icod_ (CoverageIssue a :: QName
a b :: [(Telescope, [NamedArg DeBruijnPattern])]
b)          = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (NotStrictlyPositive a :: QName
a b :: Seq OccursWhere
b)    = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (UnsolvedMetaVariables a :: [Range]
a)    = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (UnsolvedInteractionMetas a :: [Range]
a) = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (UnsolvedConstraints a :: Constraints
a)      = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (OldBuiltin a :: String
a b :: String
b)             = Int32
-> (String -> String -> Warning) -> String -> String -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 1 String -> String -> Warning
OldBuiltin String
a String
b
  icod_ EmptyRewritePragma           = Int32 -> Warning -> Arrows (Domains Warning) (S Int32)
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 2 Warning
EmptyRewritePragma
  icod_ UselessPublic                = Int32 -> Warning -> Arrows (Domains Warning) (S Int32)
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 3 Warning
UselessPublic
  icod_ (UselessInline a :: QName
a)            = Int32 -> (QName -> Warning) -> QName -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 4 QName -> Warning
UselessInline QName
a
  icod_ (GenericWarning a :: Doc
a)           = Int32 -> (Doc -> Warning) -> Doc -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 5 Doc -> Warning
GenericWarning Doc
a
  icod_ (GenericNonFatalError a :: Doc
a)     = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (SafeFlagPostulate a :: Name
a)        = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (SafeFlagPragma a :: [String]
a)           = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ SafeFlagNonTerminating       = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ SafeFlagTerminating          = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ SafeFlagWithoutKFlagPrimEraseEquality    = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ SafeFlagNoPositivityCheck    = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ SafeFlagPolarity             = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ SafeFlagNoUniverseCheck      = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ SafeFlagNoCoverageCheck      = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ SafeFlagInjective            = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ SafeFlagEta                  = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (ParseWarning a :: ParseWarning
a)             = S Int32
forall a. HasCallStack => a
__IMPOSSIBLE__
  icod_ (DeprecationWarning a :: String
a b :: String
b c :: String
c)   = Int32
-> (String -> String -> String -> Warning)
-> String
-> String
-> String
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 6 String -> String -> String -> Warning
DeprecationWarning String
a String
b String
c
  icod_ (NicifierIssue a :: DeclarationWarning
a)            = Int32
-> (DeclarationWarning -> Warning) -> DeclarationWarning -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 7 DeclarationWarning -> Warning
NicifierIssue DeclarationWarning
a
  icod_ (InversionDepthReached a :: QName
a)    = Int32 -> (QName -> Warning) -> QName -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 8 QName -> Warning
InversionDepthReached QName
a
  icod_ (UserWarning a :: String
a)              = Int32 -> (String -> Warning) -> String -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 9 String -> Warning
UserWarning String
a
  icod_ (AbsurdPatternRequiresNoRHS a :: [NamedArg DeBruijnPattern]
a) = Int32
-> ([NamedArg DeBruijnPattern] -> Warning)
-> [NamedArg DeBruijnPattern]
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 10 [NamedArg DeBruijnPattern] -> Warning
AbsurdPatternRequiresNoRHS [NamedArg DeBruijnPattern]
a
  icod_ (ModuleDoesntExport a :: QName
a b :: [ImportedName]
b)       = Int32
-> (QName -> [ImportedName] -> Warning)
-> QName
-> [ImportedName]
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 11 QName -> [ImportedName] -> Warning
ModuleDoesntExport QName
a [ImportedName]
b
  icod_ (LibraryWarning a :: LibWarning
a)           = Int32 -> (LibWarning -> Warning) -> LibWarning -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 12 LibWarning -> Warning
LibraryWarning LibWarning
a
  icod_ (CoverageNoExactSplit a :: QName
a b :: [Clause]
b)   = Int32
-> (QName -> [Clause] -> Warning) -> QName -> [Clause] -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 13 QName -> [Clause] -> Warning
CoverageNoExactSplit QName
a [Clause]
b
  icod_ (CantGeneralizeOverSorts a :: [MetaId]
a)  = Int32 -> ([MetaId] -> Warning) -> [MetaId] -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 14 [MetaId] -> Warning
CantGeneralizeOverSorts [MetaId]
a
  icod_ (IllformedAsClause a :: String
a)        = Int32 -> (String -> Warning) -> String -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 15 String -> Warning
IllformedAsClause String
a
  icod_ WithoutKFlagPrimEraseEquality = Int32 -> Warning -> Arrows (Domains Warning) (S Int32)
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 16 Warning
WithoutKFlagPrimEraseEquality
  icod_ (InstanceWithExplicitArg a :: QName
a)  = Int32 -> (QName -> Warning) -> QName -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 17 QName -> Warning
InstanceWithExplicitArg QName
a
  icod_ (InfectiveImport a :: String
a b :: ModuleName
b)          = Int32
-> (String -> ModuleName -> Warning)
-> String
-> ModuleName
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 18 String -> ModuleName -> Warning
InfectiveImport String
a ModuleName
b
  icod_ (CoInfectiveImport a :: String
a b :: ModuleName
b)        = Int32
-> (String -> ModuleName -> Warning)
-> String
-> ModuleName
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 19 String -> ModuleName -> Warning
CoInfectiveImport String
a ModuleName
b
  icod_ (InstanceNoOutputTypeName a :: Doc
a) = Int32 -> (Doc -> Warning) -> Doc -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 20 Doc -> Warning
InstanceNoOutputTypeName Doc
a
  icod_ (InstanceArgWithExplicitArg a :: Doc
a) = Int32 -> (Doc -> Warning) -> Doc -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 21 Doc -> Warning
InstanceArgWithExplicitArg Doc
a
  icod_ WrongInstanceDeclaration     = Int32 -> Warning -> Arrows (Domains Warning) (S Int32)
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 22 Warning
WrongInstanceDeclaration
  icod_ (RewriteNonConfluent a :: Term
a b :: Term
b c :: Term
c d :: Doc
d) = Int32
-> (Term -> Term -> Term -> Doc -> Warning)
-> Term
-> Term
-> Term
-> Doc
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 23 Term -> Term -> Term -> Doc -> Warning
RewriteNonConfluent Term
a Term
b Term
c Doc
d
  icod_ (RewriteMaybeNonConfluent a :: Term
a b :: Term
b c :: [Doc]
c) = Int32
-> (Term -> Term -> [Doc] -> Warning)
-> Term
-> Term
-> [Doc]
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 24 Term -> Term -> [Doc] -> Warning
RewriteMaybeNonConfluent Term
a Term
b [Doc]
c
  icod_ (PragmaCompileErased a :: String
a b :: QName
b)        = Int32 -> (String -> QName -> Warning) -> String -> QName -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 25 String -> QName -> Warning
PragmaCompileErased String
a QName
b
  icod_ (FixityInRenamingModule a :: NonEmpty Range
a)       = Int32 -> (NonEmpty Range -> Warning) -> NonEmpty Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 26 NonEmpty Range -> Warning
FixityInRenamingModule NonEmpty Range
a
  icod_ (NotInScopeW ns :: [QName]
ns)                 = Int32 -> ([QName] -> Warning) -> [QName] -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 27 [QName] -> Warning
NotInScopeW [QName]
ns
  icod_ (ClashesViaRenaming a :: NameOrModule
a b :: [Name]
b)         = Int32
-> (NameOrModule -> [Name] -> Warning)
-> NameOrModule
-> [Name]
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 28 NameOrModule -> [Name] -> Warning
ClashesViaRenaming NameOrModule
a [Name]
b

  value :: Int32 -> R Warning
value = (Node -> R Warning) -> Int32 -> R Warning
forall a. EmbPrj a => (Node -> R a) -> Int32 -> R a
vcase Node -> R Warning
valu where
      valu :: Node -> R Warning
valu [0, a :: Int32
a, b :: Int32
b]    = (QName -> [Range] -> Warning) -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN QName -> [Range] -> Warning
UnreachableClauses Int32
a Int32
b
      valu [1, a :: Int32
a, b :: Int32
b]    = (String -> String -> Warning) -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN String -> String -> Warning
OldBuiltin Int32
a Int32
b
      valu [2]          = Warning
-> Arrows (Constant Int32 (Domains Warning)) (R (CoDomain Warning))
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Warning
EmptyRewritePragma
      valu [3]          = Warning
-> Arrows (Constant Int32 (Domains Warning)) (R (CoDomain Warning))
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Warning
UselessPublic
      valu [4, a :: Int32
a]       = (QName -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN QName -> Warning
UselessInline Int32
a
      valu [5, a :: Int32
a]       = (Doc -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Doc -> Warning
GenericWarning Int32
a
      valu [6, a :: Int32
a, b :: Int32
b, c :: Int32
c] = (String -> String -> String -> Warning)
-> Int32 -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN String -> String -> String -> Warning
DeprecationWarning Int32
a Int32
b Int32
c
      valu [7, a :: Int32
a]       = (DeclarationWarning -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN DeclarationWarning -> Warning
NicifierIssue Int32
a
      valu [8, a :: Int32
a]       = (QName -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN QName -> Warning
InversionDepthReached Int32
a
      valu [9, a :: Int32
a]       = (String -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN String -> Warning
UserWarning Int32
a
      valu [10, a :: Int32
a]      = ([NamedArg DeBruijnPattern] -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN [NamedArg DeBruijnPattern] -> Warning
AbsurdPatternRequiresNoRHS Int32
a
      valu [11, a :: Int32
a, b :: Int32
b]   = (QName -> [ImportedName] -> Warning) -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN QName -> [ImportedName] -> Warning
ModuleDoesntExport Int32
a Int32
b
      valu [12, a :: Int32
a]      = (LibWarning -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN LibWarning -> Warning
LibraryWarning Int32
a
      valu [13, a :: Int32
a, b :: Int32
b]   = (QName -> [Clause] -> Warning) -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN QName -> [Clause] -> Warning
CoverageNoExactSplit Int32
a Int32
b
      valu [14, a :: Int32
a]      = ([MetaId] -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN [MetaId] -> Warning
CantGeneralizeOverSorts Int32
a
      valu [15, a :: Int32
a]      = (String -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN String -> Warning
IllformedAsClause Int32
a
      valu [16]         = Warning
-> Arrows (Constant Int32 (Domains Warning)) (R (CoDomain Warning))
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Warning
WithoutKFlagPrimEraseEquality
      valu [17, a :: Int32
a]      = (QName -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN QName -> Warning
InstanceWithExplicitArg Int32
a
      valu [18, a :: Int32
a, b :: Int32
b]   = (String -> ModuleName -> Warning) -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN String -> ModuleName -> Warning
InfectiveImport Int32
a Int32
b
      valu [19, a :: Int32
a, b :: Int32
b]   = (String -> ModuleName -> Warning) -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN String -> ModuleName -> Warning
CoInfectiveImport Int32
a Int32
b
      valu [20, a :: Int32
a]      = (Doc -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Doc -> Warning
InstanceNoOutputTypeName Int32
a
      valu [21, a :: Int32
a]      = (Doc -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Doc -> Warning
InstanceArgWithExplicitArg Int32
a
      valu [22]         = Warning
-> Arrows (Constant Int32 (Domains Warning)) (R (CoDomain Warning))
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Warning
WrongInstanceDeclaration
      valu [23, a :: Int32
a, b :: Int32
b, c :: Int32
c, d :: Int32
d] = (Term -> Term -> Term -> Doc -> Warning)
-> Int32 -> Int32 -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Term -> Term -> Term -> Doc -> Warning
RewriteNonConfluent Int32
a Int32
b Int32
c Int32
d
      valu [24, a :: Int32
a, b :: Int32
b, c :: Int32
c]    = (Term -> Term -> [Doc] -> Warning)
-> Int32 -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Term -> Term -> [Doc] -> Warning
RewriteMaybeNonConfluent Int32
a Int32
b Int32
c
      valu [25, a :: Int32
a, b :: Int32
b]   = (String -> QName -> Warning) -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN String -> QName -> Warning
PragmaCompileErased Int32
a Int32
b
      valu [26, a :: Int32
a]      = (NonEmpty Range -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN NonEmpty Range -> Warning
FixityInRenamingModule Int32
a
      valu [27, ns :: Int32
ns]     = ([QName] -> Warning) -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN [QName] -> Warning
NotInScopeW Int32
ns
      valu [28, a :: Int32
a, b :: Int32
b]   = (NameOrModule -> [Name] -> Warning) -> Int32 -> Int32 -> R Warning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN NameOrModule -> [Name] -> Warning
ClashesViaRenaming Int32
a Int32
b
      valu _ = R Warning
forall a. R a
malformed

instance EmbPrj DeclarationWarning where
  icod_ :: DeclarationWarning -> S Int32
icod_ = \case
    UnknownNamesInFixityDecl a :: [Name]
a        -> Int32 -> ([Name] -> DeclarationWarning) -> [Name] -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 0 [Name] -> DeclarationWarning
UnknownNamesInFixityDecl [Name]
a
    UnknownNamesInPolarityPragmas a :: [Name]
a   -> Int32 -> ([Name] -> DeclarationWarning) -> [Name] -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 1 [Name] -> DeclarationWarning
UnknownNamesInPolarityPragmas [Name]
a
    PolarityPragmasButNotPostulates a :: [Name]
a -> Int32 -> ([Name] -> DeclarationWarning) -> [Name] -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 2 [Name] -> DeclarationWarning
PolarityPragmasButNotPostulates [Name]
a
    UselessPrivate a :: Range
a                  -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 3 Range -> DeclarationWarning
UselessPrivate Range
a
    UselessAbstract a :: Range
a                 -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 4 Range -> DeclarationWarning
UselessAbstract Range
a
    UselessInstance a :: Range
a                 -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 5 Range -> DeclarationWarning
UselessInstance Range
a
    EmptyMutual a :: Range
a                     -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 6 Range -> DeclarationWarning
EmptyMutual Range
a
    EmptyAbstract a :: Range
a                   -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 7 Range -> DeclarationWarning
EmptyAbstract Range
a
    EmptyPrivate a :: Range
a                    -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 8 Range -> DeclarationWarning
EmptyPrivate Range
a
    EmptyInstance a :: Range
a                   -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 9 Range -> DeclarationWarning
EmptyInstance Range
a
    EmptyMacro a :: Range
a                      -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 10 Range -> DeclarationWarning
EmptyMacro Range
a
    EmptyPostulate a :: Range
a                  -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 11 Range -> DeclarationWarning
EmptyPostulate Range
a
    InvalidTerminationCheckPragma a :: Range
a   -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 12 Range -> DeclarationWarning
InvalidTerminationCheckPragma Range
a
    InvalidNoPositivityCheckPragma a :: Range
a  -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 13 Range -> DeclarationWarning
InvalidNoPositivityCheckPragma Range
a
    InvalidCatchallPragma a :: Range
a           -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 14 Range -> DeclarationWarning
InvalidCatchallPragma Range
a
    InvalidNoUniverseCheckPragma a :: Range
a    -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 15 Range -> DeclarationWarning
InvalidNoUniverseCheckPragma Range
a
    UnknownFixityInMixfixDecl a :: [Name]
a       -> Int32 -> ([Name] -> DeclarationWarning) -> [Name] -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 16 [Name] -> DeclarationWarning
UnknownFixityInMixfixDecl [Name]
a
    MissingDefinitions a :: [(Name, Range)]
a              -> Int32
-> ([(Name, Range)] -> DeclarationWarning)
-> [(Name, Range)]
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 17 [(Name, Range)] -> DeclarationWarning
MissingDefinitions [(Name, Range)]
a
    NotAllowedInMutual r :: Range
r a :: String
a            -> Int32
-> (Range -> String -> DeclarationWarning)
-> Range
-> String
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 18 Range -> String -> DeclarationWarning
NotAllowedInMutual Range
r String
a
    PragmaNoTerminationCheck r :: Range
r        -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 19 Range -> DeclarationWarning
PragmaNoTerminationCheck Range
r
    EmptyGeneralize a :: Range
a                 -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 20 Range -> DeclarationWarning
EmptyGeneralize Range
a
    PragmaCompiled r :: Range
r                  -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 21 Range -> DeclarationWarning
PragmaCompiled Range
r
    EmptyPrimitive a :: Range
a                  -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 22 Range -> DeclarationWarning
EmptyPrimitive Range
a
    EmptyField r :: Range
r                      -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 23 Range -> DeclarationWarning
EmptyField Range
r
    ShadowingInTelescope nrs :: [(Name, [Range])]
nrs          -> Int32
-> ([(Name, [Range])] -> DeclarationWarning)
-> [(Name, [Range])]
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 24 [(Name, [Range])] -> DeclarationWarning
ShadowingInTelescope [(Name, [Range])]
nrs
    InvalidCoverageCheckPragma r :: Range
r      -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 25 Range -> DeclarationWarning
InvalidCoverageCheckPragma Range
r
    OpenPublicAbstract r :: Range
r              -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 26 Range -> DeclarationWarning
OpenPublicAbstract Range
r
    OpenPublicPrivate r :: Range
r               -> Int32 -> (Range -> DeclarationWarning) -> Range -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 27 Range -> DeclarationWarning
OpenPublicPrivate Range
r

  value :: Int32 -> R DeclarationWarning
value = (Node -> R DeclarationWarning) -> Int32 -> R DeclarationWarning
forall a. EmbPrj a => (Node -> R a) -> Int32 -> R a
vcase ((Node -> R DeclarationWarning) -> Int32 -> R DeclarationWarning)
-> (Node -> R DeclarationWarning) -> Int32 -> R DeclarationWarning
forall a b. (a -> b) -> a -> b
$ \case
    [0, a :: Int32
a]   -> ([Name] -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN [Name] -> DeclarationWarning
UnknownNamesInFixityDecl Int32
a
    [1, a :: Int32
a]   -> ([Name] -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN [Name] -> DeclarationWarning
UnknownNamesInPolarityPragmas Int32
a
    [2, a :: Int32
a]   -> ([Name] -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN [Name] -> DeclarationWarning
PolarityPragmasButNotPostulates Int32
a
    [3, a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
UselessPrivate Int32
a
    [4, a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
UselessAbstract Int32
a
    [5, a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
UselessInstance Int32
a
    [6, a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
EmptyMutual Int32
a
    [7, a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
EmptyAbstract Int32
a
    [8, a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
EmptyPrivate Int32
a
    [9, a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
EmptyInstance Int32
a
    [10,a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
EmptyMacro Int32
a
    [11,a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
EmptyPostulate Int32
a
    [12,a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
InvalidTerminationCheckPragma Int32
a
    [13,a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
InvalidNoPositivityCheckPragma Int32
a
    [14,a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
InvalidCatchallPragma Int32
a
    [15,a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
InvalidNoUniverseCheckPragma Int32
a
    [16,a :: Int32
a]   -> ([Name] -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN [Name] -> DeclarationWarning
UnknownFixityInMixfixDecl Int32
a
    [17,a :: Int32
a]   -> ([(Name, Range)] -> DeclarationWarning)
-> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN [(Name, Range)] -> DeclarationWarning
MissingDefinitions Int32
a
    [18,r :: Int32
r,a :: Int32
a] -> (Range -> String -> DeclarationWarning)
-> Int32 -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> String -> DeclarationWarning
NotAllowedInMutual Int32
r Int32
a
    [19,r :: Int32
r]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
PragmaNoTerminationCheck Int32
r
    [20,a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
EmptyGeneralize Int32
a
    [21,a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
PragmaCompiled Int32
a
    [22,a :: Int32
a]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
EmptyPrimitive Int32
a
    [23,r :: Int32
r]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
EmptyField Int32
r
    [24,nrs :: Int32
nrs] -> ([(Name, [Range])] -> DeclarationWarning)
-> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN [(Name, [Range])] -> DeclarationWarning
ShadowingInTelescope Int32
nrs
    [25,r :: Int32
r]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
InvalidCoverageCheckPragma Int32
r
    [26,r :: Int32
r]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
OpenPublicAbstract Int32
r
    [27,r :: Int32
r]   -> (Range -> DeclarationWarning) -> Int32 -> R DeclarationWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Range -> DeclarationWarning
OpenPublicPrivate Int32
r
    _ -> R DeclarationWarning
forall a. R a
malformed

instance EmbPrj LibWarning where
  icod_ :: LibWarning -> S Int32
icod_ = \case
    LibWarning a :: LibPositionInfo
a b :: LibWarning'
b -> Int32
-> (LibPositionInfo -> LibWarning' -> LibWarning)
-> LibPositionInfo
-> LibWarning'
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 0 LibPositionInfo -> LibWarning' -> LibWarning
LibWarning LibPositionInfo
a LibWarning'
b

  value :: Int32 -> R LibWarning
value = (Node -> R LibWarning) -> Int32 -> R LibWarning
forall a. EmbPrj a => (Node -> R a) -> Int32 -> R a
vcase ((Node -> R LibWarning) -> Int32 -> R LibWarning)
-> (Node -> R LibWarning) -> Int32 -> R LibWarning
forall a b. (a -> b) -> a -> b
$ \case
    [0, a :: Int32
a, b :: Int32
b]   -> (LibPositionInfo -> LibWarning' -> LibWarning)
-> Int32 -> Int32 -> R LibWarning
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN LibPositionInfo -> LibWarning' -> LibWarning
LibWarning Int32
a Int32
b
    _ -> R LibWarning
forall a. R a
malformed

instance EmbPrj LibWarning' where
  icod_ :: LibWarning' -> S Int32
icod_ = \case
    UnknownField a :: String
a -> Int32 -> (String -> LibWarning') -> String -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 0 String -> LibWarning'
UnknownField String
a

  value :: Int32 -> R LibWarning'
value = (Node -> R LibWarning') -> Int32 -> R LibWarning'
forall a. EmbPrj a => (Node -> R a) -> Int32 -> R a
vcase ((Node -> R LibWarning') -> Int32 -> R LibWarning')
-> (Node -> R LibWarning') -> Int32 -> R LibWarning'
forall a b. (a -> b) -> a -> b
$ \case
    [0, a :: Int32
a]   -> (String -> LibWarning') -> Int32 -> R LibWarning'
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN String -> LibWarning'
UnknownField Int32
a
    _ -> R LibWarning'
forall a. R a
malformed

instance EmbPrj LibPositionInfo where
  icod_ :: LibPositionInfo -> S Int32
icod_ = \case
    LibPositionInfo a :: Maybe String
a b :: LineNumber
b c :: String
c -> Int32
-> (Maybe String -> LineNumber -> String -> LibPositionInfo)
-> Maybe String
-> LineNumber
-> String
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 0 Maybe String -> LineNumber -> String -> LibPositionInfo
LibPositionInfo Maybe String
a LineNumber
b String
c

  value :: Int32 -> R LibPositionInfo
value = (Node -> R LibPositionInfo) -> Int32 -> R LibPositionInfo
forall a. EmbPrj a => (Node -> R a) -> Int32 -> R a
vcase ((Node -> R LibPositionInfo) -> Int32 -> R LibPositionInfo)
-> (Node -> R LibPositionInfo) -> Int32 -> R LibPositionInfo
forall a b. (a -> b) -> a -> b
$ \case
    [0, a :: Int32
a, b :: Int32
b, c :: Int32
c]   -> (Maybe String -> LineNumber -> String -> LibPositionInfo)
-> Int32 -> Int32 -> Int32 -> R LibPositionInfo
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Maybe String -> LineNumber -> String -> LibPositionInfo
LibPositionInfo Int32
a Int32
b Int32
c
    _ -> R LibPositionInfo
forall a. R a
malformed

instance EmbPrj Doc where
  icod_ :: Doc -> S Int32
icod_ d :: Doc
d = (String -> Doc) -> String -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
t -> Arrows (Domains t) (S Int32)
icodeN' (String -> Doc
forall a. HasCallStack => a
undefined :: String -> Doc) (Doc -> String
render Doc
d)

  value :: Int32 -> R Doc
value = (String -> Doc) -> Int32 -> R (CoDomain (String -> Doc))
forall t.
(VALU t (IsBase t), All EmbPrj (CoDomain t : Domains t)) =>
t -> Int32 -> R (CoDomain t)
valueN String -> Doc
text

instance EmbPrj PragmaOptions where
  icod_ :: PragmaOptions -> S Int32
icod_ = \case
    PragmaOptions a :: Bool
a b :: Bool
b c :: Bool
c d :: Verbosity
d e :: Bool
e f :: Bool
f g :: Bool
g h :: Bool
h i :: Bool
i j :: CutOff
j k :: Bool
k l :: Bool
l m :: Bool
m n :: WithDefault 'False
n o :: Bool
o p :: WithDefault 'True
p q :: WithDefault 'True
q r :: Bool
r s :: Bool
s t :: Bool
t u :: Bool
u v :: WithDefault 'False
v w :: Bool
w x :: Bool
x y :: Bool
y z :: Bool
z aa :: Bool
aa bb :: Bool
bb cc :: Bool
cc dd :: Bool
dd ee :: Bool
ee ff :: Bool
ff gg :: LineNumber
gg hh :: Bool
hh ii :: LineNumber
ii jj :: Bool
jj kk :: Bool
kk ll :: Bool
ll mm :: Bool
mm nn :: WarningMode
nn oo :: Bool
oo pp :: Bool
pp qq :: Bool
qq rr :: Bool
rr ss :: Bool
ss tt :: Bool
tt uu :: Bool
uu vv :: Bool
vv ->
      (Bool
 -> Bool
 -> Bool
 -> Verbosity
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> CutOff
 -> Bool
 -> Bool
 -> Bool
 -> WithDefault 'False
 -> Bool
 -> WithDefault 'True
 -> WithDefault 'True
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> WithDefault 'False
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> LineNumber
 -> Bool
 -> LineNumber
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> WarningMode
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> PragmaOptions)
-> Bool
-> Bool
-> Bool
-> Verbosity
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> CutOff
-> Bool
-> Bool
-> Bool
-> WithDefault 'False
-> Bool
-> WithDefault 'True
-> WithDefault 'True
-> Bool
-> Bool
-> Bool
-> Bool
-> WithDefault 'False
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> LineNumber
-> Bool
-> LineNumber
-> Bool
-> Bool
-> Bool
-> Bool
-> WarningMode
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
t -> Arrows (Domains t) (S Int32)
icodeN' Bool
-> Bool
-> Bool
-> Verbosity
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> CutOff
-> Bool
-> Bool
-> Bool
-> WithDefault 'False
-> Bool
-> WithDefault 'True
-> WithDefault 'True
-> Bool
-> Bool
-> Bool
-> Bool
-> WithDefault 'False
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> LineNumber
-> Bool
-> LineNumber
-> Bool
-> Bool
-> Bool
-> Bool
-> WarningMode
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PragmaOptions
PragmaOptions Bool
a Bool
b Bool
c Verbosity
d Bool
e Bool
f Bool
g Bool
h Bool
i CutOff
j Bool
k Bool
l Bool
m WithDefault 'False
n Bool
o WithDefault 'True
p WithDefault 'True
q Bool
r Bool
s Bool
t Bool
u WithDefault 'False
v Bool
w Bool
x Bool
y Bool
z Bool
aa Bool
bb Bool
cc Bool
dd Bool
ee Bool
ff LineNumber
gg Bool
hh LineNumber
ii Bool
jj Bool
kk Bool
ll Bool
mm WarningMode
nn Bool
oo Bool
pp Bool
qq Bool
rr Bool
ss Bool
tt Bool
uu Bool
vv

  value :: Int32 -> R PragmaOptions
value = (Node -> R PragmaOptions) -> Int32 -> R PragmaOptions
forall a. EmbPrj a => (Node -> R a) -> Int32 -> R a
vcase ((Node -> R PragmaOptions) -> Int32 -> R PragmaOptions)
-> (Node -> R PragmaOptions) -> Int32 -> R PragmaOptions
forall a b. (a -> b) -> a -> b
$ \case
    [a :: Int32
a, b :: Int32
b, c :: Int32
c, d :: Int32
d, e :: Int32
e, f :: Int32
f, g :: Int32
g, h :: Int32
h, i :: Int32
i, j :: Int32
j, k :: Int32
k, l :: Int32
l, m :: Int32
m, n :: Int32
n, o :: Int32
o, p :: Int32
p, q :: Int32
q, r :: Int32
r, s :: Int32
s, t :: Int32
t, u :: Int32
u, v :: Int32
v, w :: Int32
w, x :: Int32
x, y :: Int32
y, z :: Int32
z, aa :: Int32
aa, bb :: Int32
bb, cc :: Int32
cc, dd :: Int32
dd, ee :: Int32
ee, ff :: Int32
ff, gg :: Int32
gg, hh :: Int32
hh, ii :: Int32
ii, jj :: Int32
jj, kk :: Int32
kk, ll :: Int32
ll, mm :: Int32
mm, nn :: Int32
nn, oo :: Int32
oo, pp :: Int32
pp, qq :: Int32
qq, rr :: Int32
rr, ss :: Int32
ss, tt :: Int32
tt, uu :: Int32
uu, vv :: Int32
vv] ->
      (Bool
 -> Bool
 -> Bool
 -> Verbosity
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> CutOff
 -> Bool
 -> Bool
 -> Bool
 -> WithDefault 'False
 -> Bool
 -> WithDefault 'True
 -> WithDefault 'True
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> WithDefault 'False
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> LineNumber
 -> Bool
 -> LineNumber
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> WarningMode
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> Bool
 -> PragmaOptions)
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> Int32
-> R PragmaOptions
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Bool
-> Bool
-> Bool
-> Verbosity
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> CutOff
-> Bool
-> Bool
-> Bool
-> WithDefault 'False
-> Bool
-> WithDefault 'True
-> WithDefault 'True
-> Bool
-> Bool
-> Bool
-> Bool
-> WithDefault 'False
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> LineNumber
-> Bool
-> LineNumber
-> Bool
-> Bool
-> Bool
-> Bool
-> WarningMode
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PragmaOptions
PragmaOptions Int32
a Int32
b Int32
c Int32
d Int32
e Int32
f Int32
g Int32
h Int32
i Int32
j Int32
k Int32
l Int32
m Int32
n Int32
o Int32
p Int32
q Int32
r Int32
s Int32
t Int32
u Int32
v Int32
w Int32
x Int32
y Int32
z Int32
aa Int32
bb Int32
cc Int32
dd Int32
ee Int32
ff Int32
gg Int32
hh Int32
ii Int32
jj Int32
kk Int32
ll Int32
mm Int32
nn Int32
oo Int32
pp Int32
qq Int32
rr Int32
ss Int32
tt Int32
uu Int32
vv
    _ -> R PragmaOptions
forall a. R a
malformed

instance EmbPrj WarningMode where
  icod_ :: WarningMode -> S Int32
icod_ = \case
    WarningMode a :: Set WarningName
a b :: Bool
b -> (Set WarningName -> Bool -> WarningMode)
-> Set WarningName -> Bool -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
t -> Arrows (Domains t) (S Int32)
icodeN' Set WarningName -> Bool -> WarningMode
WarningMode Set WarningName
a Bool
b

  value :: Int32 -> R WarningMode
value = (Node -> R WarningMode) -> Int32 -> R WarningMode
forall a. EmbPrj a => (Node -> R a) -> Int32 -> R a
vcase ((Node -> R WarningMode) -> Int32 -> R WarningMode)
-> (Node -> R WarningMode) -> Int32 -> R WarningMode
forall a b. (a -> b) -> a -> b
$ \case
    [a :: Int32
a, b :: Int32
b]   -> (Set WarningName -> Bool -> WarningMode)
-> Int32 -> Int32 -> R WarningMode
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN Set WarningName -> Bool -> WarningMode
WarningMode Int32
a Int32
b
    _ -> R WarningMode
forall a. R a
malformed

instance EmbPrj WarningName where
  icod_ :: WarningName -> S Int32
icod_ x :: WarningName
x = String -> S Int32
forall a. EmbPrj a => a -> S Int32
icod_ (WarningName -> String
warningName2String WarningName
x)

  value :: Int32 -> R WarningName
value = (R WarningName
-> (WarningName -> R WarningName)
-> Maybe WarningName
-> R WarningName
forall b a. b -> (a -> b) -> Maybe a -> b
maybe R WarningName
forall a. R a
malformed WarningName -> R WarningName
forall (m :: * -> *) a. Monad m => a -> m a
return (Maybe WarningName -> R WarningName)
-> (String -> Maybe WarningName) -> String -> R WarningName
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> Maybe WarningName
string2WarningName) (String -> R WarningName)
-> (Int32 -> ExceptT TypeError (StateT St IO) String)
-> Int32
-> R WarningName
forall (m :: * -> *) b c a.
Monad m =>
(b -> m c) -> (a -> m b) -> a -> m c
<=< Int32 -> ExceptT TypeError (StateT St IO) String
forall a. EmbPrj a => Int32 -> R a
value


instance EmbPrj CutOff where
  icod_ :: CutOff -> S Int32
icod_ = \case
    DontCutOff -> CutOff -> Arrows (Domains CutOff) (S Int32)
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
t -> Arrows (Domains t) (S Int32)
icodeN' CutOff
DontCutOff
    CutOff a :: LineNumber
a -> Int32 -> (LineNumber -> CutOff) -> LineNumber -> S Int32
forall t.
(ICODE t (IsBase t), Currying (Domains t) (S Int32),
 All EmbPrj (Domains t)) =>
Int32 -> t -> Arrows (Domains t) (S Int32)
icodeN 0 LineNumber -> CutOff
CutOff LineNumber
a

  value :: Int32 -> R CutOff
value = (Node -> R CutOff) -> Int32 -> R CutOff
forall a. EmbPrj a => (Node -> R a) -> Int32 -> R a
vcase Node -> R CutOff
valu where
    valu :: Node -> R CutOff
valu [] = CutOff
-> Arrows (Constant Int32 (Domains CutOff)) (R (CoDomain CutOff))
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN CutOff
DontCutOff
    valu [0,a :: Int32
a] = (LineNumber -> CutOff) -> Int32 -> R CutOff
forall t.
(VALU t (IsBase t),
 Currying (Constant Int32 (Domains t)) (R (CoDomain t)),
 All EmbPrj (Domains t)) =>
t -> Arrows (Constant Int32 (Domains t)) (R (CoDomain t))
valuN LineNumber -> CutOff
CutOff Int32
a
    valu _ = R CutOff
forall a. R a
malformed