module Hydra.Dsl.Mantle where

import Hydra.Kernel
import Hydra.Dsl.Base as Base
import Hydra.Dsl.Core

import qualified Data.Map as M
import qualified Data.Maybe as Y


termAccessorAnnotatedSubject :: TTerm TermAccessor
termAccessorAnnotatedSubject :: TTerm TermAccessor
termAccessorAnnotatedSubject = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_annotatedSubject

termAccessorApplicationFunction :: TTerm TermAccessor
termAccessorApplicationFunction :: TTerm TermAccessor
termAccessorApplicationFunction = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_applicationFunction

termAccessorApplicationArgument :: TTerm TermAccessor
termAccessorApplicationArgument :: TTerm TermAccessor
termAccessorApplicationArgument = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_applicationArgument

termAccessorLambdaBody :: TTerm TermAccessor
termAccessorLambdaBody :: TTerm TermAccessor
termAccessorLambdaBody = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_lambdaBody

termAccessorListFold :: TTerm TermAccessor
termAccessorListFold :: TTerm TermAccessor
termAccessorListFold = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_listFold

termAccessorOptionalCasesNothing :: TTerm TermAccessor
termAccessorOptionalCasesNothing :: TTerm TermAccessor
termAccessorOptionalCasesNothing = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_optionalCasesNothing

termAccessorOptionalCasesJust :: TTerm TermAccessor
termAccessorOptionalCasesJust :: TTerm TermAccessor
termAccessorOptionalCasesJust = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_optionalCasesJust

termAccessorUnionCasesDefault :: TTerm TermAccessor
termAccessorUnionCasesDefault :: TTerm TermAccessor
termAccessorUnionCasesDefault = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_unionCasesDefault

termAccessorUnionCasesBranch :: TTerm Name -> TTerm TermAccessor
termAccessorUnionCasesBranch :: TTerm Name -> TTerm TermAccessor
termAccessorUnionCasesBranch = Name -> Name -> TTerm Name -> TTerm TermAccessor
forall a b. Name -> Name -> TTerm a -> TTerm b
variant Name
_TermAccessor Name
_TermAccessor_unionCasesBranch

termAccessorLetEnvironment :: TTerm TermAccessor
termAccessorLetEnvironment :: TTerm TermAccessor
termAccessorLetEnvironment = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_letEnvironment

termAccessorLetBinding :: TTerm Name -> TTerm TermAccessor
termAccessorLetBinding :: TTerm Name -> TTerm TermAccessor
termAccessorLetBinding = Name -> Name -> TTerm Name -> TTerm TermAccessor
forall a b. Name -> Name -> TTerm a -> TTerm b
variant Name
_TermAccessor Name
_TermAccessor_letBinding

termAccessorListElement :: TTerm Int -> TTerm TermAccessor
termAccessorListElement :: TTerm Int -> TTerm TermAccessor
termAccessorListElement = Name -> Name -> TTerm Int -> TTerm TermAccessor
forall a b. Name -> Name -> TTerm a -> TTerm b
variant Name
_TermAccessor Name
_TermAccessor_listElement

termAccessorMapKey :: TTerm Int -> TTerm TermAccessor
termAccessorMapKey :: TTerm Int -> TTerm TermAccessor
termAccessorMapKey = Name -> Name -> TTerm Int -> TTerm TermAccessor
forall a b. Name -> Name -> TTerm a -> TTerm b
variant Name
_TermAccessor Name
_TermAccessor_mapKey

termAccessorMapValue :: TTerm Int -> TTerm TermAccessor
termAccessorMapValue :: TTerm Int -> TTerm TermAccessor
termAccessorMapValue = Name -> Name -> TTerm Int -> TTerm TermAccessor
forall a b. Name -> Name -> TTerm a -> TTerm b
variant Name
_TermAccessor Name
_TermAccessor_mapValue

termAccessorOptionalTerm :: TTerm TermAccessor
termAccessorOptionalTerm :: TTerm TermAccessor
termAccessorOptionalTerm = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_optionalTerm

termAccessorProductTerm :: TTerm Int -> TTerm TermAccessor
termAccessorProductTerm :: TTerm Int -> TTerm TermAccessor
termAccessorProductTerm = Name -> Name -> TTerm Int -> TTerm TermAccessor
forall a b. Name -> Name -> TTerm a -> TTerm b
variant Name
_TermAccessor Name
_TermAccessor_productTerm

termAccessorRecordField :: TTerm Name -> TTerm TermAccessor
termAccessorRecordField :: TTerm Name -> TTerm TermAccessor
termAccessorRecordField = Name -> Name -> TTerm Name -> TTerm TermAccessor
forall a b. Name -> Name -> TTerm a -> TTerm b
variant Name
_TermAccessor Name
_TermAccessor_recordField

termAccessorSetElement :: TTerm Int -> TTerm TermAccessor
termAccessorSetElement :: TTerm Int -> TTerm TermAccessor
termAccessorSetElement = Name -> Name -> TTerm Int -> TTerm TermAccessor
forall a b. Name -> Name -> TTerm a -> TTerm b
variant Name
_TermAccessor Name
_TermAccessor_setElement

termAccessorSumTerm :: TTerm TermAccessor
termAccessorSumTerm :: TTerm TermAccessor
termAccessorSumTerm = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_sumTerm

termAccessorTypeAbstractionBody :: TTerm TermAccessor
termAccessorTypeAbstractionBody :: TTerm TermAccessor
termAccessorTypeAbstractionBody = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_typeAbstractionBody

termAccessorTypeApplicationTerm :: TTerm TermAccessor
termAccessorTypeApplicationTerm :: TTerm TermAccessor
termAccessorTypeApplicationTerm = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_typeApplicationTerm

termAccessorTypedTerm :: TTerm TermAccessor
termAccessorTypedTerm :: TTerm TermAccessor
termAccessorTypedTerm = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_typedTerm

termAccessorInjectionTerm :: TTerm TermAccessor
termAccessorInjectionTerm :: TTerm TermAccessor
termAccessorInjectionTerm = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_injectionTerm

termAccessorWrappedTerm :: TTerm TermAccessor
termAccessorWrappedTerm :: TTerm TermAccessor
termAccessorWrappedTerm = Name -> Name -> TTerm TermAccessor
forall a. Name -> Name -> TTerm a
unitVariant Name
_TermAccessor Name
_TermAccessor_wrappedTerm