module Morley.Michelson.Typed.Scope
(
ConstantScope
, DupableScope
, StorageScope
, PackedValScope
, ParameterScope
, UntypedValScope
, UnpackedValScope
, ViewableScope
, ComparabilityScope
, IsDupableScope
, BadTypeForScope (..)
, CheckScope (..)
, WithDeMorganScope (..)
, deMorganForbidT
, Comparable
, comparableImplies
, WellTyped
, NotWellTyped (..)
, ContainsT
, ForbidT
, ForbidOp
, ForbidContract
, ForbidTicket
, ForbidBigMap
, ForbidNestedBigMaps
, ForbidNonComparable
, TPresence(..)
, TPredicateSym(..)
, SingTPredicateSym(..)
, checkTPresence
, tPresence
, tAbsence
, Comparability(..)
, checkComparability
, comparabilityPresence
, getWTP
, getWTP'
, withDict
, SingI (..)
, (:-)(..)
) where
import Data.Constraint (withDict, (:-)(..))
import Data.Singletons (SingI(..))
import Morley.Michelson.Typed.Scope.Internal.CheckScope
import Morley.Michelson.Typed.Scope.Internal.Comparable
import Morley.Michelson.Typed.Scope.Internal.ForbidT
import Morley.Michelson.Typed.Scope.Internal.Presence
import Morley.Michelson.Typed.Scope.Internal.Scopes
import Morley.Michelson.Typed.Scope.Internal.WellTyped
import Morley.Michelson.Typed.Scope.Internal.WithDeMorganScope