packages feed

hydra-python 0.17.7 → 0.18.0

raw patch · 19 files changed

+23042/−22957 lines, 19 filesdep ~hydra-kernelPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hydra-kernel

API changes (from Hackage documentation)

- Hydra.Dsl.Python.Environment: pyGraph :: TypedTerm Graph -> TypedTerm PythonModuleMetadata -> TypedTerm PyGraph
- Hydra.Dsl.Python.Environment: pyGraphGraph :: TypedTerm PyGraph -> TypedTerm Graph
- Hydra.Dsl.Python.Environment: pyGraphMetadata :: TypedTerm PyGraph -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pyGraphPyGraph :: TypedName PyGraph
- Hydra.Dsl.Python.Environment: pyGraphWithGraph :: TypedTerm PyGraph -> TypedTerm Graph -> TypedTerm PyGraph
- Hydra.Dsl.Python.Environment: pyGraphWithMetadata :: TypedTerm PyGraph -> TypedTerm PythonModuleMetadata -> TypedTerm PyGraph
- Hydra.Dsl.Python.Environment: pythonEnvironment :: TypedTerm (ModuleNames DottedName) -> TypedTerm ([Name], Map Name Name) -> TypedTerm Graph -> TypedTerm (Set Name) -> TypedTerm PythonVersion -> TypedTerm Bool -> TypedTerm (Set Name) -> TypedTerm (Set String) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentBoundTypeVariables :: TypedTerm PythonEnvironment -> TypedTerm ([Name], Map Name Name)
- Hydra.Dsl.Python.Environment: pythonEnvironmentGraph :: TypedTerm PythonEnvironment -> TypedTerm Graph
- Hydra.Dsl.Python.Environment: pythonEnvironmentInlineVariables :: TypedTerm PythonEnvironment -> TypedTerm (Set Name)
- Hydra.Dsl.Python.Environment: pythonEnvironmentNamespaces :: TypedTerm PythonEnvironment -> TypedTerm (ModuleNames DottedName)
- Hydra.Dsl.Python.Environment: pythonEnvironmentNullaryBindings :: TypedTerm PythonEnvironment -> TypedTerm (Set Name)
- Hydra.Dsl.Python.Environment: pythonEnvironmentOverlaySubs :: TypedTerm PythonEnvironment -> TypedTerm (Set String)
- Hydra.Dsl.Python.Environment: pythonEnvironmentPythonEnvironment :: TypedName PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentSkipCasts :: TypedTerm PythonEnvironment -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonEnvironmentVersion :: TypedTerm PythonEnvironment -> TypedTerm PythonVersion
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithBoundTypeVariables :: TypedTerm PythonEnvironment -> TypedTerm ([Name], Map Name Name) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithGraph :: TypedTerm PythonEnvironment -> TypedTerm Graph -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithInlineVariables :: TypedTerm PythonEnvironment -> TypedTerm (Set Name) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithNamespaces :: TypedTerm PythonEnvironment -> TypedTerm (ModuleNames DottedName) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithNullaryBindings :: TypedTerm PythonEnvironment -> TypedTerm (Set Name) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithOverlaySubs :: TypedTerm PythonEnvironment -> TypedTerm (Set String) -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithSkipCasts :: TypedTerm PythonEnvironment -> TypedTerm Bool -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonEnvironmentWithVersion :: TypedTerm PythonEnvironment -> TypedTerm PythonVersion -> TypedTerm PythonEnvironment
- Hydra.Dsl.Python.Environment: pythonModuleMetadata :: TypedTerm (ModuleNames DottedName) -> TypedTerm (Set Name) -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataNamespaces :: TypedTerm PythonModuleMetadata -> TypedTerm (ModuleNames DottedName)
- Hydra.Dsl.Python.Environment: pythonModuleMetadataPythonModuleMetadata :: TypedName PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataTypeVariables :: TypedTerm PythonModuleMetadata -> TypedTerm (Set Name)
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesAnnotated :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesCallable :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesCast :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesDataclass :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesDecimal :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesEither :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesEnum :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesFrozenDict :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesFrozenList :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesFrozenSet :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesGeneric :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesJust :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesLeft :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesLruCache :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesMaybe :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesName :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesNode :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesNothing :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesRight :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesTypeAlias :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataUsesTypeVar :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithNamespaces :: TypedTerm PythonModuleMetadata -> TypedTerm (ModuleNames DottedName) -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithTypeVariables :: TypedTerm PythonModuleMetadata -> TypedTerm (Set Name) -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesAnnotated :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesCallable :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesCast :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesDataclass :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesDecimal :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesEither :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesEnum :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesFrozenDict :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesFrozenList :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesFrozenSet :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesGeneric :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesJust :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesLeft :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesLruCache :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesMaybe :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesName :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesNode :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesNothing :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesRight :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesTypeAlias :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonModuleMetadataWithUsesTypeVar :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
- Hydra.Dsl.Python.Environment: pythonVersionPython310 :: TypedTerm PythonVersion
- Hydra.Dsl.Python.Environment: pythonVersionPython312 :: TypedTerm PythonVersion
- Hydra.Dsl.Python.Environment: pythonVersionPythonVersion :: TypedName PythonVersion
- Hydra.Dsl.Python.Names: encodeConstantForFieldName :: TypedTerm t0 -> TypedTerm t1 -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeConstantForTypeName :: TypedTerm t0 -> TypedTerm t1 -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeEnumValue :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeFieldName :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeName :: TypedTerm Bool -> TypedTerm CaseConvention -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeNameQualified :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: encodeNamespace :: TypedTerm ModuleName -> TypedTerm DottedName
- Hydra.Dsl.Python.Names: encodeNamespaceStringWithOverrides :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm String
- Hydra.Dsl.Python.Names: encodeNamespaceWithOverrides :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm DottedName
- Hydra.Dsl.Python.Names: encodeTypeVariable :: TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Names: overlayPythonModuleAliases :: TypedTerm (Map ModuleName String)
- Hydra.Dsl.Python.Names: sanitizePythonName :: TypedTerm String -> TypedTerm String
- Hydra.Dsl.Python.Names: termVariableReference :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Names: typeVariableReference :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Names: useFutureAnnotations :: TypedTerm Bool
- Hydra.Dsl.Python.Names: variableReference :: TypedTerm CaseConvention -> TypedTerm Bool -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Names: variantName :: TypedTerm Bool -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: annotatedRhsAnnotatedRhs :: TypedName AnnotatedRhs
- Hydra.Dsl.Python.Syntax: annotatedRhsStar :: TypedTerm [StarExpression] -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Syntax: annotatedRhsYield :: TypedTerm YieldExpression -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Syntax: annotatedStatement :: TypedTerm String -> TypedTerm Statement -> TypedTerm AnnotatedStatement
- Hydra.Dsl.Python.Syntax: annotatedStatementAnnotatedStatement :: TypedName AnnotatedStatement
- Hydra.Dsl.Python.Syntax: annotatedStatementComment :: TypedTerm AnnotatedStatement -> TypedTerm String
- Hydra.Dsl.Python.Syntax: annotatedStatementStatement :: TypedTerm AnnotatedStatement -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: annotatedStatementWithComment :: TypedTerm AnnotatedStatement -> TypedTerm String -> TypedTerm AnnotatedStatement
- Hydra.Dsl.Python.Syntax: annotatedStatementWithStatement :: TypedTerm AnnotatedStatement -> TypedTerm Statement -> TypedTerm AnnotatedStatement
- Hydra.Dsl.Python.Syntax: annotation :: TypedTerm Expression -> TypedTerm Annotation
- Hydra.Dsl.Python.Syntax: annotationAnnotation :: TypedName Annotation
- Hydra.Dsl.Python.Syntax: args :: TypedTerm [PosArg] -> TypedTerm [KwargOrStarred] -> TypedTerm [KwargOrDoubleStarred] -> TypedTerm Args
- Hydra.Dsl.Python.Syntax: argsArgs :: TypedName Args
- Hydra.Dsl.Python.Syntax: argsKwargOrDoubleStarred :: TypedTerm Args -> TypedTerm [KwargOrDoubleStarred]
- Hydra.Dsl.Python.Syntax: argsKwargOrStarred :: TypedTerm Args -> TypedTerm [KwargOrStarred]
- Hydra.Dsl.Python.Syntax: argsPositional :: TypedTerm Args -> TypedTerm [PosArg]
- Hydra.Dsl.Python.Syntax: argsWithKwargOrDoubleStarred :: TypedTerm Args -> TypedTerm [KwargOrDoubleStarred] -> TypedTerm Args
- Hydra.Dsl.Python.Syntax: argsWithKwargOrStarred :: TypedTerm Args -> TypedTerm [KwargOrStarred] -> TypedTerm Args
- Hydra.Dsl.Python.Syntax: argsWithPositional :: TypedTerm Args -> TypedTerm [PosArg] -> TypedTerm Args
- Hydra.Dsl.Python.Syntax: asPattern :: TypedTerm OrPattern -> TypedTerm PatternCaptureTarget -> TypedTerm AsPattern
- Hydra.Dsl.Python.Syntax: asPatternAs :: TypedTerm AsPattern -> TypedTerm PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: asPatternAsPattern :: TypedName AsPattern
- Hydra.Dsl.Python.Syntax: asPatternPattern :: TypedTerm AsPattern -> TypedTerm OrPattern
- Hydra.Dsl.Python.Syntax: asPatternWithAs :: TypedTerm AsPattern -> TypedTerm PatternCaptureTarget -> TypedTerm AsPattern
- Hydra.Dsl.Python.Syntax: asPatternWithPattern :: TypedTerm AsPattern -> TypedTerm OrPattern -> TypedTerm AsPattern
- Hydra.Dsl.Python.Syntax: assertStatement :: TypedTerm Expression -> TypedTerm (Maybe Expression) -> TypedTerm AssertStatement
- Hydra.Dsl.Python.Syntax: assertStatementAssertStatement :: TypedName AssertStatement
- Hydra.Dsl.Python.Syntax: assertStatementExpression1 :: TypedTerm AssertStatement -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: assertStatementExpression2 :: TypedTerm AssertStatement -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: assertStatementWithExpression1 :: TypedTerm AssertStatement -> TypedTerm Expression -> TypedTerm AssertStatement
- Hydra.Dsl.Python.Syntax: assertStatementWithExpression2 :: TypedTerm AssertStatement -> TypedTerm (Maybe Expression) -> TypedTerm AssertStatement
- Hydra.Dsl.Python.Syntax: assignmentAssignment :: TypedName Assignment
- Hydra.Dsl.Python.Syntax: assignmentAug :: TypedTerm AugAssignment -> TypedTerm Assignment
- Hydra.Dsl.Python.Syntax: assignmentExpression :: TypedTerm Name -> TypedTerm Expression -> TypedTerm AssignmentExpression
- Hydra.Dsl.Python.Syntax: assignmentExpressionAssignmentExpression :: TypedName AssignmentExpression
- Hydra.Dsl.Python.Syntax: assignmentExpressionExpression :: TypedTerm AssignmentExpression -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: assignmentExpressionName :: TypedTerm AssignmentExpression -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: assignmentExpressionWithExpression :: TypedTerm AssignmentExpression -> TypedTerm Expression -> TypedTerm AssignmentExpression
- Hydra.Dsl.Python.Syntax: assignmentExpressionWithName :: TypedTerm AssignmentExpression -> TypedTerm Name -> TypedTerm AssignmentExpression
- Hydra.Dsl.Python.Syntax: assignmentTyped :: TypedTerm TypedAssignment -> TypedTerm Assignment
- Hydra.Dsl.Python.Syntax: assignmentUntyped :: TypedTerm UntypedAssignment -> TypedTerm Assignment
- Hydra.Dsl.Python.Syntax: atomAtom :: TypedName Atom
- Hydra.Dsl.Python.Syntax: atomDict :: TypedTerm Dict -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomDictcomp :: TypedTerm Dictcomp -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomEllipsis :: TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomFalse :: TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomGenexp :: TypedTerm Genexp -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomGroup :: TypedTerm Group -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomList :: TypedTerm List -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomListcomp :: TypedTerm Listcomp -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomName :: TypedTerm Name -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomNone :: TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomNumber :: TypedTerm Number -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomSet :: TypedTerm Set -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomSetcomp :: TypedTerm Setcomp -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomString :: TypedTerm String_ -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomTrue :: TypedTerm Atom
- Hydra.Dsl.Python.Syntax: atomTuple :: TypedTerm Tuple -> TypedTerm Atom
- Hydra.Dsl.Python.Syntax: attribute :: TypedTerm [Name] -> TypedTerm Attribute
- Hydra.Dsl.Python.Syntax: attributeAttribute :: TypedName Attribute
- Hydra.Dsl.Python.Syntax: augAssignAmpersandEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignAtEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignAugAssign :: TypedName AugAssign
- Hydra.Dsl.Python.Syntax: augAssignBarEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignCaretEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignDoubleSlashEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignLeftShiftEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignMinusEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignPercentEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignPlusEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignRightShiftEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignSlashEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignStarStarEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignTimesEqual :: TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignment :: TypedTerm SingleTarget -> TypedTerm AugAssign -> TypedTerm AnnotatedRhs -> TypedTerm AugAssignment
- Hydra.Dsl.Python.Syntax: augAssignmentAugAssignment :: TypedName AugAssignment
- Hydra.Dsl.Python.Syntax: augAssignmentAugassign :: TypedTerm AugAssignment -> TypedTerm AugAssign
- Hydra.Dsl.Python.Syntax: augAssignmentLhs :: TypedTerm AugAssignment -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: augAssignmentRhs :: TypedTerm AugAssignment -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Syntax: augAssignmentWithAugassign :: TypedTerm AugAssignment -> TypedTerm AugAssign -> TypedTerm AugAssignment
- Hydra.Dsl.Python.Syntax: augAssignmentWithLhs :: TypedTerm AugAssignment -> TypedTerm SingleTarget -> TypedTerm AugAssignment
- Hydra.Dsl.Python.Syntax: augAssignmentWithRhs :: TypedTerm AugAssignment -> TypedTerm AnnotatedRhs -> TypedTerm AugAssignment
- Hydra.Dsl.Python.Syntax: awaitPrimary :: TypedTerm Bool -> TypedTerm Primary -> TypedTerm AwaitPrimary
- Hydra.Dsl.Python.Syntax: awaitPrimaryAwait :: TypedTerm AwaitPrimary -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: awaitPrimaryAwaitPrimary :: TypedName AwaitPrimary
- Hydra.Dsl.Python.Syntax: awaitPrimaryPrimary :: TypedTerm AwaitPrimary -> TypedTerm Primary
- Hydra.Dsl.Python.Syntax: awaitPrimaryWithAwait :: TypedTerm AwaitPrimary -> TypedTerm Bool -> TypedTerm AwaitPrimary
- Hydra.Dsl.Python.Syntax: awaitPrimaryWithPrimary :: TypedTerm AwaitPrimary -> TypedTerm Primary -> TypedTerm AwaitPrimary
- Hydra.Dsl.Python.Syntax: bitwiseAnd :: TypedTerm (Maybe BitwiseAnd) -> TypedTerm ShiftExpression -> TypedTerm BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseAndBitwiseAnd :: TypedName BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseAndLhs :: TypedTerm BitwiseAnd -> TypedTerm (Maybe BitwiseAnd)
- Hydra.Dsl.Python.Syntax: bitwiseAndRhs :: TypedTerm BitwiseAnd -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: bitwiseAndWithLhs :: TypedTerm BitwiseAnd -> TypedTerm (Maybe BitwiseAnd) -> TypedTerm BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseAndWithRhs :: TypedTerm BitwiseAnd -> TypedTerm ShiftExpression -> TypedTerm BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseOr :: TypedTerm (Maybe BitwiseOr) -> TypedTerm BitwiseXor -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: bitwiseOrBitwiseOr :: TypedName BitwiseOr
- Hydra.Dsl.Python.Syntax: bitwiseOrLhs :: TypedTerm BitwiseOr -> TypedTerm (Maybe BitwiseOr)
- Hydra.Dsl.Python.Syntax: bitwiseOrRhs :: TypedTerm BitwiseOr -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Syntax: bitwiseOrWithLhs :: TypedTerm BitwiseOr -> TypedTerm (Maybe BitwiseOr) -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: bitwiseOrWithRhs :: TypedTerm BitwiseOr -> TypedTerm BitwiseXor -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: bitwiseXor :: TypedTerm (Maybe BitwiseXor) -> TypedTerm BitwiseAnd -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Syntax: bitwiseXorBitwiseXor :: TypedName BitwiseXor
- Hydra.Dsl.Python.Syntax: bitwiseXorLhs :: TypedTerm BitwiseXor -> TypedTerm (Maybe BitwiseXor)
- Hydra.Dsl.Python.Syntax: bitwiseXorRhs :: TypedTerm BitwiseXor -> TypedTerm BitwiseAnd
- Hydra.Dsl.Python.Syntax: bitwiseXorWithLhs :: TypedTerm BitwiseXor -> TypedTerm (Maybe BitwiseXor) -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Syntax: bitwiseXorWithRhs :: TypedTerm BitwiseXor -> TypedTerm BitwiseAnd -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Syntax: blockBlock :: TypedName Block
- Hydra.Dsl.Python.Syntax: blockIndented :: TypedTerm [[Statement]] -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: blockSimple :: TypedTerm [SimpleStatement] -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: capturePattern :: TypedTerm PatternCaptureTarget -> TypedTerm CapturePattern
- Hydra.Dsl.Python.Syntax: capturePatternCapturePattern :: TypedName CapturePattern
- Hydra.Dsl.Python.Syntax: caseBlock :: TypedTerm Patterns -> TypedTerm (Maybe Guard) -> TypedTerm Block -> TypedTerm CaseBlock
- Hydra.Dsl.Python.Syntax: caseBlockBody :: TypedTerm CaseBlock -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: caseBlockCaseBlock :: TypedName CaseBlock
- Hydra.Dsl.Python.Syntax: caseBlockGuard :: TypedTerm CaseBlock -> TypedTerm (Maybe Guard)
- Hydra.Dsl.Python.Syntax: caseBlockPatterns :: TypedTerm CaseBlock -> TypedTerm Patterns
- Hydra.Dsl.Python.Syntax: caseBlockWithBody :: TypedTerm CaseBlock -> TypedTerm Block -> TypedTerm CaseBlock
- Hydra.Dsl.Python.Syntax: caseBlockWithGuard :: TypedTerm CaseBlock -> TypedTerm (Maybe Guard) -> TypedTerm CaseBlock
- Hydra.Dsl.Python.Syntax: caseBlockWithPatterns :: TypedTerm CaseBlock -> TypedTerm Patterns -> TypedTerm CaseBlock
- Hydra.Dsl.Python.Syntax: classDefinition :: TypedTerm (Maybe Decorators) -> TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe Args) -> TypedTerm Block -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionArguments :: TypedTerm ClassDefinition -> TypedTerm (Maybe Args)
- Hydra.Dsl.Python.Syntax: classDefinitionBody :: TypedTerm ClassDefinition -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: classDefinitionClassDefinition :: TypedName ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionDecorators :: TypedTerm ClassDefinition -> TypedTerm (Maybe Decorators)
- Hydra.Dsl.Python.Syntax: classDefinitionName :: TypedTerm ClassDefinition -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: classDefinitionTypeParams :: TypedTerm ClassDefinition -> TypedTerm [TypeParameter]
- Hydra.Dsl.Python.Syntax: classDefinitionWithArguments :: TypedTerm ClassDefinition -> TypedTerm (Maybe Args) -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionWithBody :: TypedTerm ClassDefinition -> TypedTerm Block -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionWithDecorators :: TypedTerm ClassDefinition -> TypedTerm (Maybe Decorators) -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionWithName :: TypedTerm ClassDefinition -> TypedTerm Name -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classDefinitionWithTypeParams :: TypedTerm ClassDefinition -> TypedTerm [TypeParameter] -> TypedTerm ClassDefinition
- Hydra.Dsl.Python.Syntax: classPattern :: TypedTerm NameOrAttribute -> TypedTerm (Maybe PositionalPatterns) -> TypedTerm (Maybe KeywordPatterns) -> TypedTerm ClassPattern
- Hydra.Dsl.Python.Syntax: classPatternClassPattern :: TypedName ClassPattern
- Hydra.Dsl.Python.Syntax: classPatternKeywordPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe KeywordPatterns)
- Hydra.Dsl.Python.Syntax: classPatternNameOrAttribute :: TypedTerm ClassPattern -> TypedTerm NameOrAttribute
- Hydra.Dsl.Python.Syntax: classPatternPositionalPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe PositionalPatterns)
- Hydra.Dsl.Python.Syntax: classPatternWithKeywordPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe KeywordPatterns) -> TypedTerm ClassPattern
- Hydra.Dsl.Python.Syntax: classPatternWithNameOrAttribute :: TypedTerm ClassPattern -> TypedTerm NameOrAttribute -> TypedTerm ClassPattern
- Hydra.Dsl.Python.Syntax: classPatternWithPositionalPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe PositionalPatterns) -> TypedTerm ClassPattern
- Hydra.Dsl.Python.Syntax: closedPatternCapture :: TypedTerm CapturePattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternClass :: TypedTerm ClassPattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternClosedPattern :: TypedName ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternGroup :: TypedTerm GroupPattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternLiteral :: TypedTerm LiteralExpression -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternMapping :: TypedTerm MappingPattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternSequence :: TypedTerm SequencePattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternValue :: TypedTerm ValuePattern -> TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: closedPatternWildcard :: TypedTerm ClosedPattern
- Hydra.Dsl.Python.Syntax: commaStarEtc :: TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm CommaStarEtc
- Hydra.Dsl.Python.Syntax: commaStarEtcCommaStarEtc :: TypedName CommaStarEtc
- Hydra.Dsl.Python.Syntax: commaStarEtcKeywords :: TypedTerm CommaStarEtc -> TypedTerm (Maybe Keywords)
- Hydra.Dsl.Python.Syntax: commaStarEtcParamMaybeDefault :: TypedTerm CommaStarEtc -> TypedTerm [ParamMaybeDefault]
- Hydra.Dsl.Python.Syntax: commaStarEtcWithKeywords :: TypedTerm CommaStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm CommaStarEtc
- Hydra.Dsl.Python.Syntax: commaStarEtcWithParamMaybeDefault :: TypedTerm CommaStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm CommaStarEtc
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPair :: TypedTerm CompareOp -> TypedTerm BitwiseOr -> TypedTerm CompareOpBitwiseOrPair
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairCompareOpBitwiseOrPair :: TypedName CompareOpBitwiseOrPair
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairOperator :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairRhs :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairWithOperator :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm CompareOp -> TypedTerm CompareOpBitwiseOrPair
- Hydra.Dsl.Python.Syntax: compareOpBitwiseOrPairWithRhs :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm BitwiseOr -> TypedTerm CompareOpBitwiseOrPair
- Hydra.Dsl.Python.Syntax: compareOpCompareOp :: TypedName CompareOp
- Hydra.Dsl.Python.Syntax: compareOpEq :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpGt :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpGte :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpIn :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpIs :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpIsnot :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpLt :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpLte :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpNoteq :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: compareOpNotin :: TypedTerm CompareOp
- Hydra.Dsl.Python.Syntax: comparison :: TypedTerm BitwiseOr -> TypedTerm [CompareOpBitwiseOrPair] -> TypedTerm Comparison
- Hydra.Dsl.Python.Syntax: comparisonComparison :: TypedName Comparison
- Hydra.Dsl.Python.Syntax: comparisonLhs :: TypedTerm Comparison -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Syntax: comparisonRhs :: TypedTerm Comparison -> TypedTerm [CompareOpBitwiseOrPair]
- Hydra.Dsl.Python.Syntax: comparisonWithLhs :: TypedTerm Comparison -> TypedTerm BitwiseOr -> TypedTerm Comparison
- Hydra.Dsl.Python.Syntax: comparisonWithRhs :: TypedTerm Comparison -> TypedTerm [CompareOpBitwiseOrPair] -> TypedTerm Comparison
- Hydra.Dsl.Python.Syntax: complexNumber :: TypedTerm SignedRealNumber -> TypedTerm PlusOrMinus -> TypedTerm ImaginaryNumber -> TypedTerm ComplexNumber
- Hydra.Dsl.Python.Syntax: complexNumberComplexNumber :: TypedName ComplexNumber
- Hydra.Dsl.Python.Syntax: complexNumberImaginary :: TypedTerm ComplexNumber -> TypedTerm ImaginaryNumber
- Hydra.Dsl.Python.Syntax: complexNumberPlusOrMinus :: TypedTerm ComplexNumber -> TypedTerm PlusOrMinus
- Hydra.Dsl.Python.Syntax: complexNumberReal :: TypedTerm ComplexNumber -> TypedTerm SignedRealNumber
- Hydra.Dsl.Python.Syntax: complexNumberWithImaginary :: TypedTerm ComplexNumber -> TypedTerm ImaginaryNumber -> TypedTerm ComplexNumber
- Hydra.Dsl.Python.Syntax: complexNumberWithPlusOrMinus :: TypedTerm ComplexNumber -> TypedTerm PlusOrMinus -> TypedTerm ComplexNumber
- Hydra.Dsl.Python.Syntax: complexNumberWithReal :: TypedTerm ComplexNumber -> TypedTerm SignedRealNumber -> TypedTerm ComplexNumber
- Hydra.Dsl.Python.Syntax: compoundStatementClassDef :: TypedTerm ClassDefinition -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementCompoundStatement :: TypedName CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementFor :: TypedTerm ForStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementFunction :: TypedTerm FunctionDefinition -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementIf :: TypedTerm IfStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementMatch :: TypedTerm MatchStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementTry :: TypedTerm TryStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementWhile :: TypedTerm WhileStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: compoundStatementWith :: TypedTerm WithStatement -> TypedTerm CompoundStatement
- Hydra.Dsl.Python.Syntax: conditional :: TypedTerm Disjunction -> TypedTerm Disjunction -> TypedTerm Expression -> TypedTerm Conditional
- Hydra.Dsl.Python.Syntax: conditionalBody :: TypedTerm Conditional -> TypedTerm Disjunction
- Hydra.Dsl.Python.Syntax: conditionalConditional :: TypedName Conditional
- Hydra.Dsl.Python.Syntax: conditionalElse :: TypedTerm Conditional -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: conditionalIf :: TypedTerm Conditional -> TypedTerm Disjunction
- Hydra.Dsl.Python.Syntax: conditionalWithBody :: TypedTerm Conditional -> TypedTerm Disjunction -> TypedTerm Conditional
- Hydra.Dsl.Python.Syntax: conditionalWithElse :: TypedTerm Conditional -> TypedTerm Expression -> TypedTerm Conditional
- Hydra.Dsl.Python.Syntax: conditionalWithIf :: TypedTerm Conditional -> TypedTerm Disjunction -> TypedTerm Conditional
- Hydra.Dsl.Python.Syntax: conjunction :: TypedTerm [Inversion] -> TypedTerm Conjunction
- Hydra.Dsl.Python.Syntax: conjunctionConjunction :: TypedName Conjunction
- Hydra.Dsl.Python.Syntax: decorators :: TypedTerm [NamedExpression] -> TypedTerm Decorators
- Hydra.Dsl.Python.Syntax: decoratorsDecorators :: TypedName Decorators
- Hydra.Dsl.Python.Syntax: defaultDefault :: TypedName Default
- Hydra.Dsl.Python.Syntax: default_ :: TypedTerm Expression -> TypedTerm Default
- Hydra.Dsl.Python.Syntax: delStatement :: TypedTerm DelTargets -> TypedTerm DelStatement
- Hydra.Dsl.Python.Syntax: delStatementDelStatement :: TypedName DelStatement
- Hydra.Dsl.Python.Syntax: delTAtomDelTAtom :: TypedName DelTAtom
- Hydra.Dsl.Python.Syntax: delTAtomName :: TypedTerm Name -> TypedTerm DelTAtom
- Hydra.Dsl.Python.Syntax: delTAtomTarget :: TypedTerm DelTarget -> TypedTerm DelTAtom
- Hydra.Dsl.Python.Syntax: delTAtomTargets :: TypedTerm DelTargets -> TypedTerm DelTAtom
- Hydra.Dsl.Python.Syntax: delTargetDelTAtom :: TypedTerm DelTAtom -> TypedTerm DelTarget
- Hydra.Dsl.Python.Syntax: delTargetDelTarget :: TypedName DelTarget
- Hydra.Dsl.Python.Syntax: delTargetPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm DelTarget
- Hydra.Dsl.Python.Syntax: delTargetPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm DelTarget
- Hydra.Dsl.Python.Syntax: delTargets :: TypedTerm [DelTarget] -> TypedTerm DelTargets
- Hydra.Dsl.Python.Syntax: delTargetsDelTargets :: TypedName DelTargets
- Hydra.Dsl.Python.Syntax: dict :: TypedTerm [DoubleStarredKvpair] -> TypedTerm Dict
- Hydra.Dsl.Python.Syntax: dictDict :: TypedName Dict
- Hydra.Dsl.Python.Syntax: dictcomp :: TypedTerm Kvpair -> TypedTerm ForIfClauses -> TypedTerm Dictcomp
- Hydra.Dsl.Python.Syntax: dictcompDictcomp :: TypedName Dictcomp
- Hydra.Dsl.Python.Syntax: dictcompForIfClauses :: TypedTerm Dictcomp -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: dictcompKvpair :: TypedTerm Dictcomp -> TypedTerm Kvpair
- Hydra.Dsl.Python.Syntax: dictcompWithForIfClauses :: TypedTerm Dictcomp -> TypedTerm ForIfClauses -> TypedTerm Dictcomp
- Hydra.Dsl.Python.Syntax: dictcompWithKvpair :: TypedTerm Dictcomp -> TypedTerm Kvpair -> TypedTerm Dictcomp
- Hydra.Dsl.Python.Syntax: disjunction :: TypedTerm [Conjunction] -> TypedTerm Disjunction
- Hydra.Dsl.Python.Syntax: disjunctionDisjunction :: TypedName Disjunction
- Hydra.Dsl.Python.Syntax: dottedAsName :: TypedTerm DottedName -> TypedTerm (Maybe Name) -> TypedTerm DottedAsName
- Hydra.Dsl.Python.Syntax: dottedAsNameAs :: TypedTerm DottedAsName -> TypedTerm (Maybe Name)
- Hydra.Dsl.Python.Syntax: dottedAsNameDottedAsName :: TypedName DottedAsName
- Hydra.Dsl.Python.Syntax: dottedAsNameName :: TypedTerm DottedAsName -> TypedTerm DottedName
- Hydra.Dsl.Python.Syntax: dottedAsNameWithAs :: TypedTerm DottedAsName -> TypedTerm (Maybe Name) -> TypedTerm DottedAsName
- Hydra.Dsl.Python.Syntax: dottedAsNameWithName :: TypedTerm DottedAsName -> TypedTerm DottedName -> TypedTerm DottedAsName
- Hydra.Dsl.Python.Syntax: dottedName :: TypedTerm [Name] -> TypedTerm DottedName
- Hydra.Dsl.Python.Syntax: dottedNameDottedName :: TypedName DottedName
- Hydra.Dsl.Python.Syntax: doubleStarPattern :: TypedTerm PatternCaptureTarget -> TypedTerm DoubleStarPattern
- Hydra.Dsl.Python.Syntax: doubleStarPatternDoubleStarPattern :: TypedName DoubleStarPattern
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameter :: TypedTerm Name -> TypedTerm (Maybe Expression) -> TypedTerm DoubleStarTypeParameter
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterDefault :: TypedTerm DoubleStarTypeParameter -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterDoubleStarTypeParameter :: TypedName DoubleStarTypeParameter
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterName :: TypedTerm DoubleStarTypeParameter -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterWithDefault :: TypedTerm DoubleStarTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm DoubleStarTypeParameter
- Hydra.Dsl.Python.Syntax: doubleStarTypeParameterWithName :: TypedTerm DoubleStarTypeParameter -> TypedTerm Name -> TypedTerm DoubleStarTypeParameter
- Hydra.Dsl.Python.Syntax: doubleStarredKvpairDoubleStarredKvpair :: TypedName DoubleStarredKvpair
- Hydra.Dsl.Python.Syntax: doubleStarredKvpairPair :: TypedTerm Kvpair -> TypedTerm DoubleStarredKvpair
- Hydra.Dsl.Python.Syntax: doubleStarredKvpairStarred :: TypedTerm BitwiseOr -> TypedTerm DoubleStarredKvpair
- Hydra.Dsl.Python.Syntax: eval :: TypedTerm [Expression] -> TypedTerm Eval
- Hydra.Dsl.Python.Syntax: evalEval :: TypedName Eval
- Hydra.Dsl.Python.Syntax: exceptBlock :: TypedTerm (Maybe ExceptExpression) -> TypedTerm Block -> TypedTerm ExceptBlock
- Hydra.Dsl.Python.Syntax: exceptBlockBody :: TypedTerm ExceptBlock -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: exceptBlockExceptBlock :: TypedName ExceptBlock
- Hydra.Dsl.Python.Syntax: exceptBlockExpression :: TypedTerm ExceptBlock -> TypedTerm (Maybe ExceptExpression)
- Hydra.Dsl.Python.Syntax: exceptBlockWithBody :: TypedTerm ExceptBlock -> TypedTerm Block -> TypedTerm ExceptBlock
- Hydra.Dsl.Python.Syntax: exceptBlockWithExpression :: TypedTerm ExceptBlock -> TypedTerm (Maybe ExceptExpression) -> TypedTerm ExceptBlock
- Hydra.Dsl.Python.Syntax: exceptExpression :: TypedTerm Expression -> TypedTerm (Maybe Name) -> TypedTerm ExceptExpression
- Hydra.Dsl.Python.Syntax: exceptExpressionAs :: TypedTerm ExceptExpression -> TypedTerm (Maybe Name)
- Hydra.Dsl.Python.Syntax: exceptExpressionExceptExpression :: TypedName ExceptExpression
- Hydra.Dsl.Python.Syntax: exceptExpressionExpression :: TypedTerm ExceptExpression -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: exceptExpressionWithAs :: TypedTerm ExceptExpression -> TypedTerm (Maybe Name) -> TypedTerm ExceptExpression
- Hydra.Dsl.Python.Syntax: exceptExpressionWithExpression :: TypedTerm ExceptExpression -> TypedTerm Expression -> TypedTerm ExceptExpression
- Hydra.Dsl.Python.Syntax: exceptStarBlock :: TypedTerm Expression -> TypedTerm (Maybe Name) -> TypedTerm Block -> TypedTerm ExceptStarBlock
- Hydra.Dsl.Python.Syntax: exceptStarBlockAs :: TypedTerm ExceptStarBlock -> TypedTerm (Maybe Name)
- Hydra.Dsl.Python.Syntax: exceptStarBlockBody :: TypedTerm ExceptStarBlock -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: exceptStarBlockExceptStarBlock :: TypedName ExceptStarBlock
- Hydra.Dsl.Python.Syntax: exceptStarBlockExpression :: TypedTerm ExceptStarBlock -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: exceptStarBlockWithAs :: TypedTerm ExceptStarBlock -> TypedTerm (Maybe Name) -> TypedTerm ExceptStarBlock
- Hydra.Dsl.Python.Syntax: exceptStarBlockWithBody :: TypedTerm ExceptStarBlock -> TypedTerm Block -> TypedTerm ExceptStarBlock
- Hydra.Dsl.Python.Syntax: exceptStarBlockWithExpression :: TypedTerm ExceptStarBlock -> TypedTerm Expression -> TypedTerm ExceptStarBlock
- Hydra.Dsl.Python.Syntax: expressionConditional :: TypedTerm Conditional -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: expressionExpression :: TypedName Expression
- Hydra.Dsl.Python.Syntax: expressionLambda :: TypedTerm Lambda -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: expressionSimple :: TypedTerm Disjunction -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: factorComplement :: TypedTerm Factor -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: factorFactor :: TypedName Factor
- Hydra.Dsl.Python.Syntax: factorNegative :: TypedTerm Factor -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: factorPositive :: TypedTerm Factor -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: factorSimple :: TypedTerm Power -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: file :: TypedTerm [Statement] -> TypedTerm File
- Hydra.Dsl.Python.Syntax: fileFile :: TypedName File
- Hydra.Dsl.Python.Syntax: forIfClause :: TypedTerm Bool -> TypedTerm [StarTarget] -> TypedTerm Disjunction -> TypedTerm [Disjunction] -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseAsync :: TypedTerm ForIfClause -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: forIfClauseForIfClause :: TypedName ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseIfs :: TypedTerm ForIfClause -> TypedTerm [Disjunction]
- Hydra.Dsl.Python.Syntax: forIfClauseIn :: TypedTerm ForIfClause -> TypedTerm Disjunction
- Hydra.Dsl.Python.Syntax: forIfClauseTargets :: TypedTerm ForIfClause -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: forIfClauseWithAsync :: TypedTerm ForIfClause -> TypedTerm Bool -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseWithIfs :: TypedTerm ForIfClause -> TypedTerm [Disjunction] -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseWithIn :: TypedTerm ForIfClause -> TypedTerm Disjunction -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauseWithTargets :: TypedTerm ForIfClause -> TypedTerm [StarTarget] -> TypedTerm ForIfClause
- Hydra.Dsl.Python.Syntax: forIfClauses :: TypedTerm [ForIfClause] -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: forIfClausesForIfClauses :: TypedName ForIfClauses
- Hydra.Dsl.Python.Syntax: forStatement :: TypedTerm Bool -> TypedTerm [StarTarget] -> TypedTerm [StarExpression] -> TypedTerm (Maybe TypeComment) -> TypedTerm Block -> TypedTerm (Maybe Block) -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementAsync :: TypedTerm ForStatement -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: forStatementBody :: TypedTerm ForStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: forStatementElse :: TypedTerm ForStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: forStatementExpressions :: TypedTerm ForStatement -> TypedTerm [StarExpression]
- Hydra.Dsl.Python.Syntax: forStatementForStatement :: TypedName ForStatement
- Hydra.Dsl.Python.Syntax: forStatementTargets :: TypedTerm ForStatement -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: forStatementTypeComment :: TypedTerm ForStatement -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: forStatementWithAsync :: TypedTerm ForStatement -> TypedTerm Bool -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithBody :: TypedTerm ForStatement -> TypedTerm Block -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithElse :: TypedTerm ForStatement -> TypedTerm (Maybe Block) -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithExpressions :: TypedTerm ForStatement -> TypedTerm [StarExpression] -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithTargets :: TypedTerm ForStatement -> TypedTerm [StarTarget] -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: forStatementWithTypeComment :: TypedTerm ForStatement -> TypedTerm (Maybe TypeComment) -> TypedTerm ForStatement
- Hydra.Dsl.Python.Syntax: funcTypeComment :: TypedTerm TypeComment -> TypedTerm FuncTypeComment
- Hydra.Dsl.Python.Syntax: funcTypeCommentFuncTypeComment :: TypedName FuncTypeComment
- Hydra.Dsl.Python.Syntax: functionDefRaw :: TypedTerm Bool -> TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe Parameters) -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe FuncTypeComment) -> TypedTerm Block -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawAsync :: TypedTerm FunctionDefRaw -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: functionDefRawBlock :: TypedTerm FunctionDefRaw -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: functionDefRawFuncTypeComment :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe FuncTypeComment)
- Hydra.Dsl.Python.Syntax: functionDefRawFunctionDefRaw :: TypedName FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawName :: TypedTerm FunctionDefRaw -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: functionDefRawParams :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Parameters)
- Hydra.Dsl.Python.Syntax: functionDefRawReturnType :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: functionDefRawTypeParams :: TypedTerm FunctionDefRaw -> TypedTerm [TypeParameter]
- Hydra.Dsl.Python.Syntax: functionDefRawWithAsync :: TypedTerm FunctionDefRaw -> TypedTerm Bool -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithBlock :: TypedTerm FunctionDefRaw -> TypedTerm Block -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithFuncTypeComment :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe FuncTypeComment) -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithName :: TypedTerm FunctionDefRaw -> TypedTerm Name -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithParams :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Parameters) -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithReturnType :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Expression) -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefRawWithTypeParams :: TypedTerm FunctionDefRaw -> TypedTerm [TypeParameter] -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefinition :: TypedTerm (Maybe Decorators) -> TypedTerm FunctionDefRaw -> TypedTerm FunctionDefinition
- Hydra.Dsl.Python.Syntax: functionDefinitionDecorators :: TypedTerm FunctionDefinition -> TypedTerm (Maybe Decorators)
- Hydra.Dsl.Python.Syntax: functionDefinitionFunctionDefinition :: TypedName FunctionDefinition
- Hydra.Dsl.Python.Syntax: functionDefinitionRaw :: TypedTerm FunctionDefinition -> TypedTerm FunctionDefRaw
- Hydra.Dsl.Python.Syntax: functionDefinitionWithDecorators :: TypedTerm FunctionDefinition -> TypedTerm (Maybe Decorators) -> TypedTerm FunctionDefinition
- Hydra.Dsl.Python.Syntax: functionDefinitionWithRaw :: TypedTerm FunctionDefinition -> TypedTerm FunctionDefRaw -> TypedTerm FunctionDefinition
- Hydra.Dsl.Python.Syntax: genexp :: TypedTerm GenexpHead -> TypedTerm ForIfClauses -> TypedTerm Genexp
- Hydra.Dsl.Python.Syntax: genexpGenexp :: TypedName Genexp
- Hydra.Dsl.Python.Syntax: genexpHead :: TypedTerm Genexp -> TypedTerm GenexpHead
- Hydra.Dsl.Python.Syntax: genexpHeadAssignment :: TypedTerm AssignmentExpression -> TypedTerm GenexpHead
- Hydra.Dsl.Python.Syntax: genexpHeadExpression :: TypedTerm Expression -> TypedTerm GenexpHead
- Hydra.Dsl.Python.Syntax: genexpHeadGenexpHead :: TypedName GenexpHead
- Hydra.Dsl.Python.Syntax: genexpTail :: TypedTerm Genexp -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: genexpWithHead :: TypedTerm Genexp -> TypedTerm GenexpHead -> TypedTerm Genexp
- Hydra.Dsl.Python.Syntax: genexpWithTail :: TypedTerm Genexp -> TypedTerm ForIfClauses -> TypedTerm Genexp
- Hydra.Dsl.Python.Syntax: groupExpression :: TypedTerm NamedExpression -> TypedTerm Group
- Hydra.Dsl.Python.Syntax: groupGroup :: TypedName Group
- Hydra.Dsl.Python.Syntax: groupPattern :: TypedTerm Pattern -> TypedTerm GroupPattern
- Hydra.Dsl.Python.Syntax: groupPatternGroupPattern :: TypedName GroupPattern
- Hydra.Dsl.Python.Syntax: groupYield :: TypedTerm YieldExpression -> TypedTerm Group
- Hydra.Dsl.Python.Syntax: guard :: TypedTerm NamedExpression -> TypedTerm Guard
- Hydra.Dsl.Python.Syntax: guardGuard :: TypedName Guard
- Hydra.Dsl.Python.Syntax: ifStatement :: TypedTerm NamedExpression -> TypedTerm Block -> TypedTerm (Maybe IfTail) -> TypedTerm IfStatement
- Hydra.Dsl.Python.Syntax: ifStatementBody :: TypedTerm IfStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: ifStatementCondition :: TypedTerm IfStatement -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: ifStatementContinuation :: TypedTerm IfStatement -> TypedTerm (Maybe IfTail)
- Hydra.Dsl.Python.Syntax: ifStatementIfStatement :: TypedName IfStatement
- Hydra.Dsl.Python.Syntax: ifStatementWithBody :: TypedTerm IfStatement -> TypedTerm Block -> TypedTerm IfStatement
- Hydra.Dsl.Python.Syntax: ifStatementWithCondition :: TypedTerm IfStatement -> TypedTerm NamedExpression -> TypedTerm IfStatement
- Hydra.Dsl.Python.Syntax: ifStatementWithContinuation :: TypedTerm IfStatement -> TypedTerm (Maybe IfTail) -> TypedTerm IfStatement
- Hydra.Dsl.Python.Syntax: ifTailElif :: TypedTerm IfStatement -> TypedTerm IfTail
- Hydra.Dsl.Python.Syntax: ifTailElse :: TypedTerm Block -> TypedTerm IfTail
- Hydra.Dsl.Python.Syntax: ifTailIfTail :: TypedName IfTail
- Hydra.Dsl.Python.Syntax: imaginaryNumber :: TypedTerm Double -> TypedTerm ImaginaryNumber
- Hydra.Dsl.Python.Syntax: imaginaryNumberImaginaryNumber :: TypedName ImaginaryNumber
- Hydra.Dsl.Python.Syntax: importFrom :: TypedTerm [RelativeImportPrefix] -> TypedTerm (Maybe DottedName) -> TypedTerm ImportFromTargets -> TypedTerm ImportFrom
- Hydra.Dsl.Python.Syntax: importFromAsName :: TypedTerm Name -> TypedTerm (Maybe Name) -> TypedTerm ImportFromAsName
- Hydra.Dsl.Python.Syntax: importFromAsNameAs :: TypedTerm ImportFromAsName -> TypedTerm (Maybe Name)
- Hydra.Dsl.Python.Syntax: importFromAsNameImportFromAsName :: TypedName ImportFromAsName
- Hydra.Dsl.Python.Syntax: importFromAsNameName :: TypedTerm ImportFromAsName -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: importFromAsNameWithAs :: TypedTerm ImportFromAsName -> TypedTerm (Maybe Name) -> TypedTerm ImportFromAsName
- Hydra.Dsl.Python.Syntax: importFromAsNameWithName :: TypedTerm ImportFromAsName -> TypedTerm Name -> TypedTerm ImportFromAsName
- Hydra.Dsl.Python.Syntax: importFromDottedName :: TypedTerm ImportFrom -> TypedTerm (Maybe DottedName)
- Hydra.Dsl.Python.Syntax: importFromImportFrom :: TypedName ImportFrom
- Hydra.Dsl.Python.Syntax: importFromPrefixes :: TypedTerm ImportFrom -> TypedTerm [RelativeImportPrefix]
- Hydra.Dsl.Python.Syntax: importFromTargets :: TypedTerm ImportFrom -> TypedTerm ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromTargetsImportFromTargets :: TypedName ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromTargetsParens :: TypedTerm [ImportFromAsName] -> TypedTerm ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromTargetsSimple :: TypedTerm [ImportFromAsName] -> TypedTerm ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromTargetsStar :: TypedTerm ImportFromTargets
- Hydra.Dsl.Python.Syntax: importFromWithDottedName :: TypedTerm ImportFrom -> TypedTerm (Maybe DottedName) -> TypedTerm ImportFrom
- Hydra.Dsl.Python.Syntax: importFromWithPrefixes :: TypedTerm ImportFrom -> TypedTerm [RelativeImportPrefix] -> TypedTerm ImportFrom
- Hydra.Dsl.Python.Syntax: importFromWithTargets :: TypedTerm ImportFrom -> TypedTerm ImportFromTargets -> TypedTerm ImportFrom
- Hydra.Dsl.Python.Syntax: importName :: TypedTerm [DottedAsName] -> TypedTerm ImportName
- Hydra.Dsl.Python.Syntax: importNameImportName :: TypedName ImportName
- Hydra.Dsl.Python.Syntax: importStatementFrom :: TypedTerm ImportFrom -> TypedTerm ImportStatement
- Hydra.Dsl.Python.Syntax: importStatementImportStatement :: TypedName ImportStatement
- Hydra.Dsl.Python.Syntax: importStatementName :: TypedTerm ImportName -> TypedTerm ImportStatement
- Hydra.Dsl.Python.Syntax: interactive :: TypedTerm Statement -> TypedTerm Interactive
- Hydra.Dsl.Python.Syntax: interactiveInteractive :: TypedName Interactive
- Hydra.Dsl.Python.Syntax: inversionInversion :: TypedName Inversion
- Hydra.Dsl.Python.Syntax: inversionNot :: TypedTerm Inversion -> TypedTerm Inversion
- Hydra.Dsl.Python.Syntax: inversionSimple :: TypedTerm Comparison -> TypedTerm Inversion
- Hydra.Dsl.Python.Syntax: itemsPattern :: TypedTerm [KeyValuePattern] -> TypedTerm ItemsPattern
- Hydra.Dsl.Python.Syntax: itemsPatternItemsPattern :: TypedName ItemsPattern
- Hydra.Dsl.Python.Syntax: keyValuePattern :: TypedTerm LiteralExpressionOrAttribute -> TypedTerm Pattern -> TypedTerm KeyValuePattern
- Hydra.Dsl.Python.Syntax: keyValuePatternKey :: TypedTerm KeyValuePattern -> TypedTerm LiteralExpressionOrAttribute
- Hydra.Dsl.Python.Syntax: keyValuePatternKeyValuePattern :: TypedName KeyValuePattern
- Hydra.Dsl.Python.Syntax: keyValuePatternValue :: TypedTerm KeyValuePattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: keyValuePatternWithKey :: TypedTerm KeyValuePattern -> TypedTerm LiteralExpressionOrAttribute -> TypedTerm KeyValuePattern
- Hydra.Dsl.Python.Syntax: keyValuePatternWithValue :: TypedTerm KeyValuePattern -> TypedTerm Pattern -> TypedTerm KeyValuePattern
- Hydra.Dsl.Python.Syntax: keywordPattern :: TypedTerm Name -> TypedTerm Pattern -> TypedTerm KeywordPattern
- Hydra.Dsl.Python.Syntax: keywordPatternKeywordPattern :: TypedName KeywordPattern
- Hydra.Dsl.Python.Syntax: keywordPatternName :: TypedTerm KeywordPattern -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: keywordPatternPattern :: TypedTerm KeywordPattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: keywordPatternWithName :: TypedTerm KeywordPattern -> TypedTerm Name -> TypedTerm KeywordPattern
- Hydra.Dsl.Python.Syntax: keywordPatternWithPattern :: TypedTerm KeywordPattern -> TypedTerm Pattern -> TypedTerm KeywordPattern
- Hydra.Dsl.Python.Syntax: keywordPatterns :: TypedTerm [KeywordPattern] -> TypedTerm KeywordPatterns
- Hydra.Dsl.Python.Syntax: keywordPatternsKeywordPatterns :: TypedName KeywordPatterns
- Hydra.Dsl.Python.Syntax: keywords :: TypedTerm ParamNoDefault -> TypedTerm Keywords
- Hydra.Dsl.Python.Syntax: keywordsKeywords :: TypedName Keywords
- Hydra.Dsl.Python.Syntax: kvpair :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm Kvpair
- Hydra.Dsl.Python.Syntax: kvpairKey :: TypedTerm Kvpair -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: kvpairKvpair :: TypedName Kvpair
- Hydra.Dsl.Python.Syntax: kvpairValue :: TypedTerm Kvpair -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: kvpairWithKey :: TypedTerm Kvpair -> TypedTerm Expression -> TypedTerm Kvpair
- Hydra.Dsl.Python.Syntax: kvpairWithValue :: TypedTerm Kvpair -> TypedTerm Expression -> TypedTerm Kvpair
- Hydra.Dsl.Python.Syntax: kwarg :: TypedTerm Name -> TypedTerm Expression -> TypedTerm Kwarg
- Hydra.Dsl.Python.Syntax: kwargKwarg :: TypedName Kwarg
- Hydra.Dsl.Python.Syntax: kwargName :: TypedTerm Kwarg -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: kwargOrDoubleStarredDoubleStarred :: TypedTerm Expression -> TypedTerm KwargOrDoubleStarred
- Hydra.Dsl.Python.Syntax: kwargOrDoubleStarredKwarg :: TypedTerm Kwarg -> TypedTerm KwargOrDoubleStarred
- Hydra.Dsl.Python.Syntax: kwargOrDoubleStarredKwargOrDoubleStarred :: TypedName KwargOrDoubleStarred
- Hydra.Dsl.Python.Syntax: kwargOrStarredKwarg :: TypedTerm Kwarg -> TypedTerm KwargOrStarred
- Hydra.Dsl.Python.Syntax: kwargOrStarredKwargOrStarred :: TypedName KwargOrStarred
- Hydra.Dsl.Python.Syntax: kwargOrStarredStarred :: TypedTerm StarredExpression -> TypedTerm KwargOrStarred
- Hydra.Dsl.Python.Syntax: kwargValue :: TypedTerm Kwarg -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: kwargWithName :: TypedTerm Kwarg -> TypedTerm Name -> TypedTerm Kwarg
- Hydra.Dsl.Python.Syntax: kwargWithValue :: TypedTerm Kwarg -> TypedTerm Expression -> TypedTerm Kwarg
- Hydra.Dsl.Python.Syntax: lambda :: TypedTerm LambdaParameters -> TypedTerm Expression -> TypedTerm Lambda
- Hydra.Dsl.Python.Syntax: lambdaBody :: TypedTerm Lambda -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: lambdaKwds :: TypedTerm LambdaParamNoDefault -> TypedTerm LambdaKwds
- Hydra.Dsl.Python.Syntax: lambdaKwdsLambdaKwds :: TypedName LambdaKwds
- Hydra.Dsl.Python.Syntax: lambdaLambda :: TypedName Lambda
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefault :: TypedTerm Name -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamMaybeDefault
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultDefault :: TypedTerm LambdaParamMaybeDefault -> TypedTerm (Maybe Default)
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultLambdaParamMaybeDefault :: TypedName LambdaParamMaybeDefault
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultParam :: TypedTerm LambdaParamMaybeDefault -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultWithDefault :: TypedTerm LambdaParamMaybeDefault -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamMaybeDefault
- Hydra.Dsl.Python.Syntax: lambdaParamMaybeDefaultWithParam :: TypedTerm LambdaParamMaybeDefault -> TypedTerm Name -> TypedTerm LambdaParamMaybeDefault
- Hydra.Dsl.Python.Syntax: lambdaParamNoDefault :: TypedTerm Name -> TypedTerm LambdaParamNoDefault
- Hydra.Dsl.Python.Syntax: lambdaParamNoDefaultLambdaParamNoDefault :: TypedName LambdaParamNoDefault
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefault :: TypedTerm Name -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamWithDefault
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultDefault :: TypedTerm LambdaParamWithDefault -> TypedTerm (Maybe Default)
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultLambdaParamWithDefault :: TypedName LambdaParamWithDefault
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultParam :: TypedTerm LambdaParamWithDefault -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultWithDefault :: TypedTerm LambdaParamWithDefault -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamWithDefault
- Hydra.Dsl.Python.Syntax: lambdaParamWithDefaultWithParam :: TypedTerm LambdaParamWithDefault -> TypedTerm Name -> TypedTerm LambdaParamWithDefault
- Hydra.Dsl.Python.Syntax: lambdaParameters :: TypedTerm (Maybe LambdaSlashNoDefault) -> TypedTerm [LambdaParamNoDefault] -> TypedTerm [LambdaParamWithDefault] -> TypedTerm (Maybe LambdaStarEtc) -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersLambdaParameters :: TypedName LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersParamNoDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamNoDefault]
- Hydra.Dsl.Python.Syntax: lambdaParametersParamWithDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamWithDefault]
- Hydra.Dsl.Python.Syntax: lambdaParametersSlashNoDefault :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaSlashNoDefault)
- Hydra.Dsl.Python.Syntax: lambdaParametersStarEtc :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaStarEtc)
- Hydra.Dsl.Python.Syntax: lambdaParametersWithParamNoDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersWithParamWithDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersWithSlashNoDefault :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaSlashNoDefault) -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParametersWithStarEtc :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaStarEtc) -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaParams :: TypedTerm Lambda -> TypedTerm LambdaParameters
- Hydra.Dsl.Python.Syntax: lambdaSlashNoDefault :: TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashNoDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashNoDefaultLambdaSlashNoDefault :: TypedName LambdaSlashNoDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashNoDefaultParameters :: TypedTerm LambdaSlashNoDefault -> TypedTerm [LambdaParamNoDefault]
- Hydra.Dsl.Python.Syntax: lambdaSlashNoDefaultWithParameters :: TypedTerm LambdaSlashNoDefault -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashNoDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefault :: TypedTerm [LambdaParamNoDefault] -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaSlashWithDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultLambdaSlashWithDefault :: TypedName LambdaSlashWithDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultParamNoDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamNoDefault]
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultParamWithDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamWithDefault]
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultWithParamNoDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashWithDefault
- Hydra.Dsl.Python.Syntax: lambdaSlashWithDefaultWithParamWithDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaSlashWithDefault
- Hydra.Dsl.Python.Syntax: lambdaStarEtcKwds :: TypedTerm LambdaKwds -> TypedTerm LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaStarEtcLambdaStarEtc :: TypedName LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaStarEtcParamMaybeDefault :: TypedTerm [LambdaParamMaybeDefault] -> TypedTerm LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaStarEtcParamNoDefault :: TypedTerm LambdaParamNoDefault -> TypedTerm LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaStarEtcStar :: TypedTerm Bool -> TypedTerm LambdaStarEtc
- Hydra.Dsl.Python.Syntax: lambdaWithBody :: TypedTerm Lambda -> TypedTerm Expression -> TypedTerm Lambda
- Hydra.Dsl.Python.Syntax: lambdaWithParams :: TypedTerm Lambda -> TypedTerm LambdaParameters -> TypedTerm Lambda
- Hydra.Dsl.Python.Syntax: list :: TypedTerm [StarNamedExpression] -> TypedTerm List
- Hydra.Dsl.Python.Syntax: listList :: TypedName List
- Hydra.Dsl.Python.Syntax: listcomp :: TypedTerm NamedExpression -> TypedTerm ForIfClauses -> TypedTerm Listcomp
- Hydra.Dsl.Python.Syntax: listcompExpression :: TypedTerm Listcomp -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: listcompForIfClauses :: TypedTerm Listcomp -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: listcompListcomp :: TypedName Listcomp
- Hydra.Dsl.Python.Syntax: listcompWithExpression :: TypedTerm Listcomp -> TypedTerm NamedExpression -> TypedTerm Listcomp
- Hydra.Dsl.Python.Syntax: listcompWithForIfClauses :: TypedTerm Listcomp -> TypedTerm ForIfClauses -> TypedTerm Listcomp
- Hydra.Dsl.Python.Syntax: literalExpressionComplex :: TypedTerm ComplexNumber -> TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionFalse :: TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionLiteralExpression :: TypedName LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionNone :: TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionNumber :: TypedTerm SignedNumber -> TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionOrAttributeAttribute :: TypedTerm Attribute -> TypedTerm LiteralExpressionOrAttribute
- Hydra.Dsl.Python.Syntax: literalExpressionOrAttributeLiteral :: TypedTerm LiteralExpression -> TypedTerm LiteralExpressionOrAttribute
- Hydra.Dsl.Python.Syntax: literalExpressionOrAttributeLiteralExpressionOrAttribute :: TypedName LiteralExpressionOrAttribute
- Hydra.Dsl.Python.Syntax: literalExpressionString :: TypedTerm String_ -> TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: literalExpressionTrue :: TypedTerm LiteralExpression
- Hydra.Dsl.Python.Syntax: mappingPattern :: TypedTerm (Maybe ItemsPattern) -> TypedTerm (Maybe DoubleStarPattern) -> TypedTerm MappingPattern
- Hydra.Dsl.Python.Syntax: mappingPatternDoubleStar :: TypedTerm MappingPattern -> TypedTerm (Maybe DoubleStarPattern)
- Hydra.Dsl.Python.Syntax: mappingPatternItems :: TypedTerm MappingPattern -> TypedTerm (Maybe ItemsPattern)
- Hydra.Dsl.Python.Syntax: mappingPatternMappingPattern :: TypedName MappingPattern
- Hydra.Dsl.Python.Syntax: mappingPatternWithDoubleStar :: TypedTerm MappingPattern -> TypedTerm (Maybe DoubleStarPattern) -> TypedTerm MappingPattern
- Hydra.Dsl.Python.Syntax: mappingPatternWithItems :: TypedTerm MappingPattern -> TypedTerm (Maybe ItemsPattern) -> TypedTerm MappingPattern
- Hydra.Dsl.Python.Syntax: matchStatement :: TypedTerm SubjectExpression -> TypedTerm [CaseBlock] -> TypedTerm MatchStatement
- Hydra.Dsl.Python.Syntax: matchStatementCases :: TypedTerm MatchStatement -> TypedTerm [CaseBlock]
- Hydra.Dsl.Python.Syntax: matchStatementMatchStatement :: TypedName MatchStatement
- Hydra.Dsl.Python.Syntax: matchStatementSubject :: TypedTerm MatchStatement -> TypedTerm SubjectExpression
- Hydra.Dsl.Python.Syntax: matchStatementWithCases :: TypedTerm MatchStatement -> TypedTerm [CaseBlock] -> TypedTerm MatchStatement
- Hydra.Dsl.Python.Syntax: matchStatementWithSubject :: TypedTerm MatchStatement -> TypedTerm SubjectExpression -> TypedTerm MatchStatement
- Hydra.Dsl.Python.Syntax: maybeSequencePattern :: TypedTerm [MaybeStarPattern] -> TypedTerm MaybeSequencePattern
- Hydra.Dsl.Python.Syntax: maybeSequencePatternMaybeSequencePattern :: TypedName MaybeSequencePattern
- Hydra.Dsl.Python.Syntax: maybeStarPatternMaybeStarPattern :: TypedName MaybeStarPattern
- Hydra.Dsl.Python.Syntax: maybeStarPatternPattern :: TypedTerm Pattern -> TypedTerm MaybeStarPattern
- Hydra.Dsl.Python.Syntax: maybeStarPatternStar :: TypedTerm StarPattern -> TypedTerm MaybeStarPattern
- Hydra.Dsl.Python.Syntax: moduleModule :: TypedName Module
- Hydra.Dsl.Python.Syntax: module_ :: TypedTerm [[Statement]] -> TypedTerm Module
- Hydra.Dsl.Python.Syntax: name :: TypedTerm String -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: nameName :: TypedName Name
- Hydra.Dsl.Python.Syntax: nameOrAttribute :: TypedTerm [Name] -> TypedTerm NameOrAttribute
- Hydra.Dsl.Python.Syntax: nameOrAttributeNameOrAttribute :: TypedName NameOrAttribute
- Hydra.Dsl.Python.Syntax: namedExpressionAssignment :: TypedTerm AssignmentExpression -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: namedExpressionNamedExpression :: TypedName NamedExpression
- Hydra.Dsl.Python.Syntax: namedExpressionSimple :: TypedTerm Expression -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtc :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcKeywords :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm (Maybe Keywords)
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc :: TypedName NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcParamMaybeDefault :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm [ParamMaybeDefault]
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcWithKeywords :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcWithParamMaybeDefault :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm NoDefaultStarAnnotationStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtc :: TypedTerm ParamNoDefault -> TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcKeywords :: TypedTerm NoDefaultStarEtc -> TypedTerm (Maybe Keywords)
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcNoDefaultStarEtc :: TypedName NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcParamMaybeDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm [ParamMaybeDefault]
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcParamNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcWithKeywords :: TypedTerm NoDefaultStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcWithParamMaybeDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: noDefaultStarEtcWithParamNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm ParamNoDefault -> TypedTerm NoDefaultStarEtc
- Hydra.Dsl.Python.Syntax: numberFloat :: TypedTerm Double -> TypedTerm Number
- Hydra.Dsl.Python.Syntax: numberImaginary :: TypedTerm Double -> TypedTerm Number
- Hydra.Dsl.Python.Syntax: numberInteger :: TypedTerm Integer -> TypedTerm Number
- Hydra.Dsl.Python.Syntax: numberNumber :: TypedName Number
- Hydra.Dsl.Python.Syntax: openSequencePattern :: TypedTerm MaybeStarPattern -> TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm OpenSequencePattern
- Hydra.Dsl.Python.Syntax: openSequencePatternHead :: TypedTerm OpenSequencePattern -> TypedTerm MaybeStarPattern
- Hydra.Dsl.Python.Syntax: openSequencePatternOpenSequencePattern :: TypedName OpenSequencePattern
- Hydra.Dsl.Python.Syntax: openSequencePatternTail :: TypedTerm OpenSequencePattern -> TypedTerm (Maybe MaybeSequencePattern)
- Hydra.Dsl.Python.Syntax: openSequencePatternWithHead :: TypedTerm OpenSequencePattern -> TypedTerm MaybeStarPattern -> TypedTerm OpenSequencePattern
- Hydra.Dsl.Python.Syntax: openSequencePatternWithTail :: TypedTerm OpenSequencePattern -> TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm OpenSequencePattern
- Hydra.Dsl.Python.Syntax: orPattern :: TypedTerm [ClosedPattern] -> TypedTerm OrPattern
- Hydra.Dsl.Python.Syntax: orPatternOrPattern :: TypedName OrPattern
- Hydra.Dsl.Python.Syntax: param :: TypedTerm Name -> TypedTerm (Maybe Annotation) -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramAnnotation :: TypedTerm Param -> TypedTerm (Maybe Annotation)
- Hydra.Dsl.Python.Syntax: paramMaybeDefault :: TypedTerm Param -> TypedTerm (Maybe Default) -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultDefault :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe Default)
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultParam :: TypedTerm ParamMaybeDefault -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultParamMaybeDefault :: TypedName ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultTypeComment :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultWithDefault :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe Default) -> TypedTerm ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultWithParam :: TypedTerm ParamMaybeDefault -> TypedTerm Param -> TypedTerm ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramMaybeDefaultWithTypeComment :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamMaybeDefault
- Hydra.Dsl.Python.Syntax: paramName :: TypedTerm Param -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: paramNoDefault :: TypedTerm Param -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: paramNoDefaultParam :: TypedTerm ParamNoDefault -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramNoDefaultParamNoDefault :: TypedName ParamNoDefault
- Hydra.Dsl.Python.Syntax: paramNoDefaultParameters :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersParamNoDefaultParameters :: TypedName ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersParamWithDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersStarEtc :: TypedTerm ParamNoDefaultParameters -> TypedTerm (Maybe StarEtc)
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersWithParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersWithParamWithDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultParametersWithStarEtc :: TypedTerm ParamNoDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamNoDefaultParameters
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation :: TypedName ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationParamStarAnnotation :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationTypeComment :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationWithParamStarAnnotation :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm ParamStarAnnotation -> TypedTerm ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultStarAnnotationWithTypeComment :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefaultStarAnnotation
- Hydra.Dsl.Python.Syntax: paramNoDefaultTypeComment :: TypedTerm ParamNoDefault -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: paramNoDefaultWithParam :: TypedTerm ParamNoDefault -> TypedTerm Param -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: paramNoDefaultWithTypeComment :: TypedTerm ParamNoDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: paramParam :: TypedName Param
- Hydra.Dsl.Python.Syntax: paramStarAnnotation :: TypedTerm Name -> TypedTerm StarAnnotation -> TypedTerm ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramStarAnnotationAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm StarAnnotation
- Hydra.Dsl.Python.Syntax: paramStarAnnotationName :: TypedTerm ParamStarAnnotation -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: paramStarAnnotationParamStarAnnotation :: TypedName ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramStarAnnotationWithAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm StarAnnotation -> TypedTerm ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramStarAnnotationWithName :: TypedTerm ParamStarAnnotation -> TypedTerm Name -> TypedTerm ParamStarAnnotation
- Hydra.Dsl.Python.Syntax: paramWithAnnotation :: TypedTerm Param -> TypedTerm (Maybe Annotation) -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramWithDefault :: TypedTerm Param -> TypedTerm Default -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithDefaultDefault :: TypedTerm ParamWithDefault -> TypedTerm Default
- Hydra.Dsl.Python.Syntax: paramWithDefaultParam :: TypedTerm ParamWithDefault -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: paramWithDefaultParamWithDefault :: TypedName ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithDefaultParameters :: TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamWithDefaultParameters
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersParamWithDefaultParameters :: TypedName ParamWithDefaultParameters
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersStarEtc :: TypedTerm ParamWithDefaultParameters -> TypedTerm (Maybe StarEtc)
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersWithParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm ParamWithDefaultParameters
- Hydra.Dsl.Python.Syntax: paramWithDefaultParametersWithStarEtc :: TypedTerm ParamWithDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamWithDefaultParameters
- Hydra.Dsl.Python.Syntax: paramWithDefaultTypeComment :: TypedTerm ParamWithDefault -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: paramWithDefaultWithDefault :: TypedTerm ParamWithDefault -> TypedTerm Default -> TypedTerm ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithDefaultWithParam :: TypedTerm ParamWithDefault -> TypedTerm Param -> TypedTerm ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithDefaultWithTypeComment :: TypedTerm ParamWithDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamWithDefault
- Hydra.Dsl.Python.Syntax: paramWithName :: TypedTerm Param -> TypedTerm Name -> TypedTerm Param
- Hydra.Dsl.Python.Syntax: parametersParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: parametersParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: parametersParameters :: TypedName Parameters
- Hydra.Dsl.Python.Syntax: parametersSlashNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: parametersSlashWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: parametersStarEtc :: TypedTerm StarEtc -> TypedTerm Parameters
- Hydra.Dsl.Python.Syntax: patternAs :: TypedTerm AsPattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: patternCaptureTarget :: TypedTerm Name -> TypedTerm PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: patternCaptureTargetPatternCaptureTarget :: TypedName PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: patternOr :: TypedTerm OrPattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: patternPattern :: TypedName Pattern
- Hydra.Dsl.Python.Syntax: patternsPattern :: TypedTerm Pattern -> TypedTerm Patterns
- Hydra.Dsl.Python.Syntax: patternsPatterns :: TypedName Patterns
- Hydra.Dsl.Python.Syntax: patternsSequence :: TypedTerm OpenSequencePattern -> TypedTerm Patterns
- Hydra.Dsl.Python.Syntax: plusOrMinusMinus :: TypedTerm PlusOrMinus
- Hydra.Dsl.Python.Syntax: plusOrMinusPlus :: TypedTerm PlusOrMinus
- Hydra.Dsl.Python.Syntax: plusOrMinusPlusOrMinus :: TypedName PlusOrMinus
- Hydra.Dsl.Python.Syntax: posArgAssignment :: TypedTerm AssignmentExpression -> TypedTerm PosArg
- Hydra.Dsl.Python.Syntax: posArgExpression :: TypedTerm Expression -> TypedTerm PosArg
- Hydra.Dsl.Python.Syntax: posArgPosArg :: TypedName PosArg
- Hydra.Dsl.Python.Syntax: posArgStarred :: TypedTerm StarredExpression -> TypedTerm PosArg
- Hydra.Dsl.Python.Syntax: positionalPatterns :: TypedTerm [Pattern] -> TypedTerm PositionalPatterns
- Hydra.Dsl.Python.Syntax: positionalPatternsPositionalPatterns :: TypedName PositionalPatterns
- Hydra.Dsl.Python.Syntax: power :: TypedTerm AwaitPrimary -> TypedTerm (Maybe Factor) -> TypedTerm Power
- Hydra.Dsl.Python.Syntax: powerLhs :: TypedTerm Power -> TypedTerm AwaitPrimary
- Hydra.Dsl.Python.Syntax: powerPower :: TypedName Power
- Hydra.Dsl.Python.Syntax: powerRhs :: TypedTerm Power -> TypedTerm (Maybe Factor)
- Hydra.Dsl.Python.Syntax: powerWithLhs :: TypedTerm Power -> TypedTerm AwaitPrimary -> TypedTerm Power
- Hydra.Dsl.Python.Syntax: powerWithRhs :: TypedTerm Power -> TypedTerm (Maybe Factor) -> TypedTerm Power
- Hydra.Dsl.Python.Syntax: primaryCompound :: TypedTerm PrimaryWithRhs -> TypedTerm Primary
- Hydra.Dsl.Python.Syntax: primaryPrimary :: TypedName Primary
- Hydra.Dsl.Python.Syntax: primaryRhsCall :: TypedTerm Args -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryRhsGenexp :: TypedTerm Genexp -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryRhsPrimaryRhs :: TypedName PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryRhsProject :: TypedTerm Name -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryRhsSlices :: TypedTerm Slices -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primarySimple :: TypedTerm Atom -> TypedTerm Primary
- Hydra.Dsl.Python.Syntax: primaryWithRhs :: TypedTerm Primary -> TypedTerm PrimaryRhs -> TypedTerm PrimaryWithRhs
- Hydra.Dsl.Python.Syntax: primaryWithRhsPrimary :: TypedTerm PrimaryWithRhs -> TypedTerm Primary
- Hydra.Dsl.Python.Syntax: primaryWithRhsPrimaryWithRhs :: TypedName PrimaryWithRhs
- Hydra.Dsl.Python.Syntax: primaryWithRhsRhs :: TypedTerm PrimaryWithRhs -> TypedTerm PrimaryRhs
- Hydra.Dsl.Python.Syntax: primaryWithRhsWithPrimary :: TypedTerm PrimaryWithRhs -> TypedTerm Primary -> TypedTerm PrimaryWithRhs
- Hydra.Dsl.Python.Syntax: primaryWithRhsWithRhs :: TypedTerm PrimaryWithRhs -> TypedTerm PrimaryRhs -> TypedTerm PrimaryWithRhs
- Hydra.Dsl.Python.Syntax: quoteStyleDouble :: TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: quoteStyleQuoteStyle :: TypedName QuoteStyle
- Hydra.Dsl.Python.Syntax: quoteStyleSingle :: TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: quoteStyleTripleDouble :: TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: quoteStyleTripleSingle :: TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: raiseExpression :: TypedTerm Expression -> TypedTerm (Maybe Expression) -> TypedTerm RaiseExpression
- Hydra.Dsl.Python.Syntax: raiseExpressionExpression :: TypedTerm RaiseExpression -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: raiseExpressionFrom :: TypedTerm RaiseExpression -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: raiseExpressionRaiseExpression :: TypedName RaiseExpression
- Hydra.Dsl.Python.Syntax: raiseExpressionWithExpression :: TypedTerm RaiseExpression -> TypedTerm Expression -> TypedTerm RaiseExpression
- Hydra.Dsl.Python.Syntax: raiseExpressionWithFrom :: TypedTerm RaiseExpression -> TypedTerm (Maybe Expression) -> TypedTerm RaiseExpression
- Hydra.Dsl.Python.Syntax: raiseStatement :: TypedTerm (Maybe RaiseExpression) -> TypedTerm RaiseStatement
- Hydra.Dsl.Python.Syntax: raiseStatementRaiseStatement :: TypedName RaiseStatement
- Hydra.Dsl.Python.Syntax: realNumberFloat :: TypedTerm Double -> TypedTerm RealNumber
- Hydra.Dsl.Python.Syntax: realNumberInteger :: TypedTerm Integer -> TypedTerm RealNumber
- Hydra.Dsl.Python.Syntax: realNumberRealNumber :: TypedName RealNumber
- Hydra.Dsl.Python.Syntax: relativeImportPrefixDot :: TypedTerm RelativeImportPrefix
- Hydra.Dsl.Python.Syntax: relativeImportPrefixEllipsis :: TypedTerm RelativeImportPrefix
- Hydra.Dsl.Python.Syntax: relativeImportPrefixRelativeImportPrefix :: TypedName RelativeImportPrefix
- Hydra.Dsl.Python.Syntax: returnStatement :: TypedTerm [StarExpression] -> TypedTerm ReturnStatement
- Hydra.Dsl.Python.Syntax: returnStatementReturnStatement :: TypedName ReturnStatement
- Hydra.Dsl.Python.Syntax: sequencePatternList :: TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm SequencePattern
- Hydra.Dsl.Python.Syntax: sequencePatternSequencePattern :: TypedName SequencePattern
- Hydra.Dsl.Python.Syntax: sequencePatternTuple :: TypedTerm (Maybe OpenSequencePattern) -> TypedTerm SequencePattern
- Hydra.Dsl.Python.Syntax: set :: TypedTerm [StarNamedExpression] -> TypedTerm Set
- Hydra.Dsl.Python.Syntax: setSet :: TypedName Set
- Hydra.Dsl.Python.Syntax: setcomp :: TypedTerm NamedExpression -> TypedTerm ForIfClauses -> TypedTerm Setcomp
- Hydra.Dsl.Python.Syntax: setcompExpression :: TypedTerm Setcomp -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: setcompForIfClauses :: TypedTerm Setcomp -> TypedTerm ForIfClauses
- Hydra.Dsl.Python.Syntax: setcompSetcomp :: TypedName Setcomp
- Hydra.Dsl.Python.Syntax: setcompWithExpression :: TypedTerm Setcomp -> TypedTerm NamedExpression -> TypedTerm Setcomp
- Hydra.Dsl.Python.Syntax: setcompWithForIfClauses :: TypedTerm Setcomp -> TypedTerm ForIfClauses -> TypedTerm Setcomp
- Hydra.Dsl.Python.Syntax: shiftExpression :: TypedTerm (Maybe ShiftLhs) -> TypedTerm Sum -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftExpressionLhs :: TypedTerm ShiftExpression -> TypedTerm (Maybe ShiftLhs)
- Hydra.Dsl.Python.Syntax: shiftExpressionRhs :: TypedTerm ShiftExpression -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: shiftExpressionShiftExpression :: TypedName ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftExpressionWithLhs :: TypedTerm ShiftExpression -> TypedTerm (Maybe ShiftLhs) -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftExpressionWithRhs :: TypedTerm ShiftExpression -> TypedTerm Sum -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftLhs :: TypedTerm ShiftExpression -> TypedTerm ShiftOp -> TypedTerm ShiftLhs
- Hydra.Dsl.Python.Syntax: shiftLhsOperand :: TypedTerm ShiftLhs -> TypedTerm ShiftExpression
- Hydra.Dsl.Python.Syntax: shiftLhsOperator :: TypedTerm ShiftLhs -> TypedTerm ShiftOp
- Hydra.Dsl.Python.Syntax: shiftLhsShiftLhs :: TypedName ShiftLhs
- Hydra.Dsl.Python.Syntax: shiftLhsWithOperand :: TypedTerm ShiftLhs -> TypedTerm ShiftExpression -> TypedTerm ShiftLhs
- Hydra.Dsl.Python.Syntax: shiftLhsWithOperator :: TypedTerm ShiftLhs -> TypedTerm ShiftOp -> TypedTerm ShiftLhs
- Hydra.Dsl.Python.Syntax: shiftOpLeft :: TypedTerm ShiftOp
- Hydra.Dsl.Python.Syntax: shiftOpRight :: TypedTerm ShiftOp
- Hydra.Dsl.Python.Syntax: shiftOpShiftOp :: TypedName ShiftOp
- Hydra.Dsl.Python.Syntax: signedNumberNumber :: TypedTerm Number -> TypedTerm SignedNumber
- Hydra.Dsl.Python.Syntax: signedNumberSign :: TypedTerm PlusOrMinus -> TypedTerm SignedNumber
- Hydra.Dsl.Python.Syntax: signedNumberSignedNumber :: TypedName SignedNumber
- Hydra.Dsl.Python.Syntax: signedRealNumberNumber :: TypedTerm RealNumber -> TypedTerm SignedRealNumber
- Hydra.Dsl.Python.Syntax: signedRealNumberSign :: TypedTerm PlusOrMinus -> TypedTerm SignedRealNumber
- Hydra.Dsl.Python.Syntax: signedRealNumberSignedRealNumber :: TypedName SignedRealNumber
- Hydra.Dsl.Python.Syntax: simpleStatementAssert :: TypedTerm AssertStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementAssignment :: TypedTerm Assignment -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementBreak :: TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementContinue :: TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementDel :: TypedTerm DelStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementGlobal :: TypedTerm [Name] -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementImport :: TypedTerm ImportStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementNonlocal :: TypedTerm [Name] -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementPass :: TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementRaise :: TypedTerm RaiseStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementReturn :: TypedTerm ReturnStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementSimpleStatement :: TypedName SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementStarExpressions :: TypedTerm [StarExpression] -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementTypeAlias :: TypedTerm TypeAlias -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleStatementYield :: TypedTerm YieldStatement -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Syntax: simpleTypeParameter :: TypedTerm Name -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: simpleTypeParameterBound :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: simpleTypeParameterDefault :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: simpleTypeParameterName :: TypedTerm SimpleTypeParameter -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: simpleTypeParameterSimpleTypeParameter :: TypedName SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: simpleTypeParameterWithBound :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: simpleTypeParameterWithDefault :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: simpleTypeParameterWithName :: TypedTerm SimpleTypeParameter -> TypedTerm Name -> TypedTerm SimpleTypeParameter
- Hydra.Dsl.Python.Syntax: singleSubscriptAttributeTargetPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm SingleSubscriptAttributeTarget
- Hydra.Dsl.Python.Syntax: singleSubscriptAttributeTargetPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm SingleSubscriptAttributeTarget
- Hydra.Dsl.Python.Syntax: singleSubscriptAttributeTargetSingleSubscriptAttributeTarget :: TypedName SingleSubscriptAttributeTarget
- Hydra.Dsl.Python.Syntax: singleTargetName :: TypedTerm Name -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: singleTargetParens :: TypedTerm SingleTarget -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: singleTargetSingleTarget :: TypedName SingleTarget
- Hydra.Dsl.Python.Syntax: singleTargetSubscriptAttributeTarget :: TypedTerm SingleSubscriptAttributeTarget -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: slashNoDefault :: TypedTerm [ParamNoDefault] -> TypedTerm SlashNoDefault
- Hydra.Dsl.Python.Syntax: slashNoDefaultParameters :: TypedTerm SlashNoDefault -> TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersParamNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersParamWithDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersSlash :: TypedTerm SlashNoDefaultParameters -> TypedTerm SlashNoDefault
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersSlashNoDefaultParameters :: TypedName SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersStarEtc :: TypedTerm SlashNoDefaultParameters -> TypedTerm (Maybe StarEtc)
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersWithParamNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersWithParamWithDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersWithSlash :: TypedTerm SlashNoDefaultParameters -> TypedTerm SlashNoDefault -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultParametersWithStarEtc :: TypedTerm SlashNoDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashNoDefaultParameters
- Hydra.Dsl.Python.Syntax: slashNoDefaultSlashNoDefault :: TypedName SlashNoDefault
- Hydra.Dsl.Python.Syntax: slashWithDefault :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefault
- Hydra.Dsl.Python.Syntax: slashWithDefaultParamNoDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: slashWithDefaultParamWithDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: slashWithDefaultParameters :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersParamNoDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersParamWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamWithDefault]
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersSlashWithDefaultParameters :: TypedName SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersStarEtc :: TypedTerm SlashWithDefaultParameters -> TypedTerm (Maybe StarEtc)
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersWithParamNoDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersWithParamWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultParametersWithStarEtc :: TypedTerm SlashWithDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashWithDefaultParameters
- Hydra.Dsl.Python.Syntax: slashWithDefaultSlashWithDefault :: TypedName SlashWithDefault
- Hydra.Dsl.Python.Syntax: slashWithDefaultWithParamNoDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamNoDefault] -> TypedTerm SlashWithDefault
- Hydra.Dsl.Python.Syntax: slashWithDefaultWithParamWithDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefault
- Hydra.Dsl.Python.Syntax: sliceExpression :: TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
- Hydra.Dsl.Python.Syntax: sliceExpressionSliceExpression :: TypedName SliceExpression
- Hydra.Dsl.Python.Syntax: sliceExpressionStart :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: sliceExpressionStep :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: sliceExpressionStop :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
- Hydra.Dsl.Python.Syntax: sliceExpressionWithStart :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
- Hydra.Dsl.Python.Syntax: sliceExpressionWithStep :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
- Hydra.Dsl.Python.Syntax: sliceExpressionWithStop :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
- Hydra.Dsl.Python.Syntax: sliceNamed :: TypedTerm NamedExpression -> TypedTerm Slice
- Hydra.Dsl.Python.Syntax: sliceOrStarredExpressionSlice :: TypedTerm Slice -> TypedTerm SliceOrStarredExpression
- Hydra.Dsl.Python.Syntax: sliceOrStarredExpressionSliceOrStarredExpression :: TypedName SliceOrStarredExpression
- Hydra.Dsl.Python.Syntax: sliceOrStarredExpressionStarred :: TypedTerm StarredExpression -> TypedTerm SliceOrStarredExpression
- Hydra.Dsl.Python.Syntax: sliceSlice :: TypedName Slice
- Hydra.Dsl.Python.Syntax: sliceSlice_ :: TypedTerm SliceExpression -> TypedTerm Slice
- Hydra.Dsl.Python.Syntax: slices :: TypedTerm Slice -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Slices
- Hydra.Dsl.Python.Syntax: slicesHead :: TypedTerm Slices -> TypedTerm Slice
- Hydra.Dsl.Python.Syntax: slicesSlices :: TypedName Slices
- Hydra.Dsl.Python.Syntax: slicesTail :: TypedTerm Slices -> TypedTerm [SliceOrStarredExpression]
- Hydra.Dsl.Python.Syntax: slicesWithHead :: TypedTerm Slices -> TypedTerm Slice -> TypedTerm Slices
- Hydra.Dsl.Python.Syntax: slicesWithTail :: TypedTerm Slices -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Slices
- Hydra.Dsl.Python.Syntax: starAnnotation :: TypedTerm StarExpression -> TypedTerm StarAnnotation
- Hydra.Dsl.Python.Syntax: starAnnotationStarAnnotation :: TypedName StarAnnotation
- Hydra.Dsl.Python.Syntax: starAtomName :: TypedTerm Name -> TypedTerm StarAtom
- Hydra.Dsl.Python.Syntax: starAtomStarAtom :: TypedName StarAtom
- Hydra.Dsl.Python.Syntax: starAtomStarTargetsListSeq :: TypedTerm (Maybe StarTargetsListSeq) -> TypedTerm StarAtom
- Hydra.Dsl.Python.Syntax: starAtomStarTargetsTupleSeq :: TypedTerm (Maybe StarTargetsTupleSeq) -> TypedTerm StarAtom
- Hydra.Dsl.Python.Syntax: starAtomTargetWithStarAtom :: TypedTerm TargetWithStarAtom -> TypedTerm StarAtom
- Hydra.Dsl.Python.Syntax: starEtcKeywords :: TypedTerm Keywords -> TypedTerm StarEtc
- Hydra.Dsl.Python.Syntax: starEtcStarComma :: TypedTerm CommaStarEtc -> TypedTerm StarEtc
- Hydra.Dsl.Python.Syntax: starEtcStarEtc :: TypedName StarEtc
- Hydra.Dsl.Python.Syntax: starEtcStarNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm StarEtc
- Hydra.Dsl.Python.Syntax: starEtcStarNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm StarEtc
- Hydra.Dsl.Python.Syntax: starExpressionSimple :: TypedTerm Expression -> TypedTerm StarExpression
- Hydra.Dsl.Python.Syntax: starExpressionStar :: TypedTerm BitwiseOr -> TypedTerm StarExpression
- Hydra.Dsl.Python.Syntax: starExpressionStarExpression :: TypedName StarExpression
- Hydra.Dsl.Python.Syntax: starNamedExpressionSimple :: TypedTerm NamedExpression -> TypedTerm StarNamedExpression
- Hydra.Dsl.Python.Syntax: starNamedExpressionStar :: TypedTerm BitwiseOr -> TypedTerm StarNamedExpression
- Hydra.Dsl.Python.Syntax: starNamedExpressionStarNamedExpression :: TypedName StarNamedExpression
- Hydra.Dsl.Python.Syntax: starNamedExpressions :: TypedTerm [StarNamedExpression] -> TypedTerm StarNamedExpressions
- Hydra.Dsl.Python.Syntax: starNamedExpressionsStarNamedExpressions :: TypedName StarNamedExpressions
- Hydra.Dsl.Python.Syntax: starPatternCapture :: TypedTerm PatternCaptureTarget -> TypedTerm StarPattern
- Hydra.Dsl.Python.Syntax: starPatternStarPattern :: TypedName StarPattern
- Hydra.Dsl.Python.Syntax: starPatternWildcard :: TypedTerm StarPattern
- Hydra.Dsl.Python.Syntax: starTargetStarTarget :: TypedName StarTarget
- Hydra.Dsl.Python.Syntax: starTargetStarred :: TypedTerm StarTarget -> TypedTerm StarTarget
- Hydra.Dsl.Python.Syntax: starTargetUnstarred :: TypedTerm TargetWithStarAtom -> TypedTerm StarTarget
- Hydra.Dsl.Python.Syntax: starTargetsListSeq :: TypedTerm [StarTarget] -> TypedTerm StarTargetsListSeq
- Hydra.Dsl.Python.Syntax: starTargetsListSeqStarTargetsListSeq :: TypedName StarTargetsListSeq
- Hydra.Dsl.Python.Syntax: starTargetsTupleSeq :: TypedTerm [StarTarget] -> TypedTerm StarTargetsTupleSeq
- Hydra.Dsl.Python.Syntax: starTargetsTupleSeqStarTargetsTupleSeq :: TypedName StarTargetsTupleSeq
- Hydra.Dsl.Python.Syntax: starTypeParameter :: TypedTerm Name -> TypedTerm (Maybe StarExpression) -> TypedTerm StarTypeParameter
- Hydra.Dsl.Python.Syntax: starTypeParameterDefault :: TypedTerm StarTypeParameter -> TypedTerm (Maybe StarExpression)
- Hydra.Dsl.Python.Syntax: starTypeParameterName :: TypedTerm StarTypeParameter -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: starTypeParameterStarTypeParameter :: TypedName StarTypeParameter
- Hydra.Dsl.Python.Syntax: starTypeParameterWithDefault :: TypedTerm StarTypeParameter -> TypedTerm (Maybe StarExpression) -> TypedTerm StarTypeParameter
- Hydra.Dsl.Python.Syntax: starTypeParameterWithName :: TypedTerm StarTypeParameter -> TypedTerm Name -> TypedTerm StarTypeParameter
- Hydra.Dsl.Python.Syntax: starredExpression :: TypedTerm Expression -> TypedTerm StarredExpression
- Hydra.Dsl.Python.Syntax: starredExpressionStarredExpression :: TypedName StarredExpression
- Hydra.Dsl.Python.Syntax: statementAnnotated :: TypedTerm AnnotatedStatement -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: statementCompound :: TypedTerm CompoundStatement -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: statementSimple :: TypedTerm [SimpleStatement] -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: statementStatement :: TypedName Statement
- Hydra.Dsl.Python.Syntax: string :: TypedTerm String -> TypedTerm (Maybe StringPrefix) -> TypedTerm QuoteStyle -> TypedTerm String_
- Hydra.Dsl.Python.Syntax: stringPrefix :: TypedTerm String_ -> TypedTerm (Maybe StringPrefix)
- Hydra.Dsl.Python.Syntax: stringPrefixBytes :: TypedTerm StringPrefix
- Hydra.Dsl.Python.Syntax: stringPrefixRaw :: TypedTerm StringPrefix
- Hydra.Dsl.Python.Syntax: stringPrefixRawBytes :: TypedTerm StringPrefix
- Hydra.Dsl.Python.Syntax: stringPrefixStringPrefix :: TypedName StringPrefix
- Hydra.Dsl.Python.Syntax: stringPrefixUnicode :: TypedTerm StringPrefix
- Hydra.Dsl.Python.Syntax: stringQuoteStyle :: TypedTerm String_ -> TypedTerm QuoteStyle
- Hydra.Dsl.Python.Syntax: stringString :: TypedName String_
- Hydra.Dsl.Python.Syntax: stringValue :: TypedTerm String_ -> TypedTerm String
- Hydra.Dsl.Python.Syntax: stringWithPrefix :: TypedTerm String_ -> TypedTerm (Maybe StringPrefix) -> TypedTerm String_
- Hydra.Dsl.Python.Syntax: stringWithQuoteStyle :: TypedTerm String_ -> TypedTerm QuoteStyle -> TypedTerm String_
- Hydra.Dsl.Python.Syntax: stringWithValue :: TypedTerm String_ -> TypedTerm String -> TypedTerm String_
- Hydra.Dsl.Python.Syntax: subjectExpressionSimple :: TypedTerm NamedExpression -> TypedTerm SubjectExpression
- Hydra.Dsl.Python.Syntax: subjectExpressionSubjectExpression :: TypedName SubjectExpression
- Hydra.Dsl.Python.Syntax: subjectExpressionTuple :: TypedTerm [StarNamedExpression] -> TypedTerm SubjectExpression
- Hydra.Dsl.Python.Syntax: sum :: TypedTerm (Maybe SumLhs) -> TypedTerm Term -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: sumLhs :: TypedTerm Sum -> TypedTerm (Maybe SumLhs)
- Hydra.Dsl.Python.Syntax: sumLhs2 :: TypedTerm Sum -> TypedTerm SumOp -> TypedTerm SumLhs
- Hydra.Dsl.Python.Syntax: sumLhsOperand :: TypedTerm SumLhs -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: sumLhsOperator :: TypedTerm SumLhs -> TypedTerm SumOp
- Hydra.Dsl.Python.Syntax: sumLhsSumLhs :: TypedName SumLhs
- Hydra.Dsl.Python.Syntax: sumLhsWithOperand :: TypedTerm SumLhs -> TypedTerm Sum -> TypedTerm SumLhs
- Hydra.Dsl.Python.Syntax: sumLhsWithOperator :: TypedTerm SumLhs -> TypedTerm SumOp -> TypedTerm SumLhs
- Hydra.Dsl.Python.Syntax: sumOpAdd :: TypedTerm SumOp
- Hydra.Dsl.Python.Syntax: sumOpSub :: TypedTerm SumOp
- Hydra.Dsl.Python.Syntax: sumOpSumOp :: TypedName SumOp
- Hydra.Dsl.Python.Syntax: sumRhs :: TypedTerm Sum -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: sumSum :: TypedName Sum
- Hydra.Dsl.Python.Syntax: sumWithLhs :: TypedTerm Sum -> TypedTerm (Maybe SumLhs) -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: sumWithRhs :: TypedTerm Sum -> TypedTerm Term -> TypedTerm Sum
- Hydra.Dsl.Python.Syntax: tPrimaryAndArguments :: TypedTerm TPrimary -> TypedTerm (Maybe Args) -> TypedTerm TPrimaryAndArguments
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm (Maybe Args)
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsPrimary :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsTPrimaryAndArguments :: TypedName TPrimaryAndArguments
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsWithArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm (Maybe Args) -> TypedTerm TPrimaryAndArguments
- Hydra.Dsl.Python.Syntax: tPrimaryAndArgumentsWithPrimary :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary -> TypedTerm TPrimaryAndArguments
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexp :: TypedTerm TPrimary -> TypedTerm Genexp -> TypedTerm TPrimaryAndGenexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm Genexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpPrimary :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpTPrimaryAndGenexp :: TypedName TPrimaryAndGenexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpWithGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm Genexp -> TypedTerm TPrimaryAndGenexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndGenexpWithPrimary :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary -> TypedTerm TPrimaryAndGenexp
- Hydra.Dsl.Python.Syntax: tPrimaryAndName :: TypedTerm TPrimary -> TypedTerm Name -> TypedTerm TPrimaryAndName
- Hydra.Dsl.Python.Syntax: tPrimaryAndNameName :: TypedTerm TPrimaryAndName -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: tPrimaryAndNamePrimary :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryAndNameTPrimaryAndName :: TypedName TPrimaryAndName
- Hydra.Dsl.Python.Syntax: tPrimaryAndNameWithName :: TypedTerm TPrimaryAndName -> TypedTerm Name -> TypedTerm TPrimaryAndName
- Hydra.Dsl.Python.Syntax: tPrimaryAndNameWithPrimary :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary -> TypedTerm TPrimaryAndName
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlices :: TypedTerm TPrimary -> TypedTerm Slices -> TypedTerm TPrimaryAndSlices
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesPrimary :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm Slices
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesTPrimaryAndSlices :: TypedName TPrimaryAndSlices
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesWithPrimary :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary -> TypedTerm TPrimaryAndSlices
- Hydra.Dsl.Python.Syntax: tPrimaryAndSlicesWithSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm Slices -> TypedTerm TPrimaryAndSlices
- Hydra.Dsl.Python.Syntax: tPrimaryAtom :: TypedTerm Atom -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryPrimaryAndArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryPrimaryAndGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary
- Hydra.Dsl.Python.Syntax: tPrimaryTPrimary :: TypedName TPrimary
- Hydra.Dsl.Python.Syntax: targetWithStarAtomAtom :: TypedTerm StarAtom -> TypedTerm TargetWithStarAtom
- Hydra.Dsl.Python.Syntax: targetWithStarAtomProject :: TypedTerm TPrimaryAndName -> TypedTerm TargetWithStarAtom
- Hydra.Dsl.Python.Syntax: targetWithStarAtomSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm TargetWithStarAtom
- Hydra.Dsl.Python.Syntax: targetWithStarAtomTargetWithStarAtom :: TypedName TargetWithStarAtom
- Hydra.Dsl.Python.Syntax: term :: TypedTerm (Maybe TermLhs) -> TypedTerm Factor -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: termLhs :: TypedTerm Term -> TypedTerm (Maybe TermLhs)
- Hydra.Dsl.Python.Syntax: termLhs2 :: TypedTerm Term -> TypedTerm TermOp -> TypedTerm TermLhs
- Hydra.Dsl.Python.Syntax: termLhsOperand :: TypedTerm TermLhs -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: termLhsOperator :: TypedTerm TermLhs -> TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termLhsTermLhs :: TypedName TermLhs
- Hydra.Dsl.Python.Syntax: termLhsWithOperand :: TypedTerm TermLhs -> TypedTerm Term -> TypedTerm TermLhs
- Hydra.Dsl.Python.Syntax: termLhsWithOperator :: TypedTerm TermLhs -> TypedTerm TermOp -> TypedTerm TermLhs
- Hydra.Dsl.Python.Syntax: termOpDiv :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpFloordiv :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpMatmul :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpMod :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpMul :: TypedTerm TermOp
- Hydra.Dsl.Python.Syntax: termOpTermOp :: TypedName TermOp
- Hydra.Dsl.Python.Syntax: termRhs :: TypedTerm Term -> TypedTerm Factor
- Hydra.Dsl.Python.Syntax: termTerm :: TypedName Term
- Hydra.Dsl.Python.Syntax: termWithLhs :: TypedTerm Term -> TypedTerm (Maybe TermLhs) -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: termWithRhs :: TypedTerm Term -> TypedTerm Factor -> TypedTerm Term
- Hydra.Dsl.Python.Syntax: tryExceptStarStatement :: TypedTerm Block -> TypedTerm [ExceptStarBlock] -> TypedTerm (Maybe Block) -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementBody :: TypedTerm TryExceptStarStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementElse :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementExcepts :: TypedTerm TryExceptStarStatement -> TypedTerm [ExceptStarBlock]
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementFinally :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementTryExceptStarStatement :: TypedName TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementWithBody :: TypedTerm TryExceptStarStatement -> TypedTerm Block -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementWithElse :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementWithExcepts :: TypedTerm TryExceptStarStatement -> TypedTerm [ExceptStarBlock] -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStarStatementWithFinally :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatement :: TypedTerm Block -> TypedTerm [ExceptBlock] -> TypedTerm (Maybe Block) -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementBody :: TypedTerm TryExceptStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: tryExceptStatementElse :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: tryExceptStatementExcepts :: TypedTerm TryExceptStatement -> TypedTerm [ExceptBlock]
- Hydra.Dsl.Python.Syntax: tryExceptStatementFinally :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: tryExceptStatementTryExceptStatement :: TypedName TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementWithBody :: TypedTerm TryExceptStatement -> TypedTerm Block -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementWithElse :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementWithExcepts :: TypedTerm TryExceptStatement -> TypedTerm [ExceptBlock] -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryExceptStatementWithFinally :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
- Hydra.Dsl.Python.Syntax: tryFinallyStatement :: TypedTerm Block -> TypedTerm Block -> TypedTerm TryFinallyStatement
- Hydra.Dsl.Python.Syntax: tryFinallyStatementBody :: TypedTerm TryFinallyStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: tryFinallyStatementFinally :: TypedTerm TryFinallyStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: tryFinallyStatementTryFinallyStatement :: TypedName TryFinallyStatement
- Hydra.Dsl.Python.Syntax: tryFinallyStatementWithBody :: TypedTerm TryFinallyStatement -> TypedTerm Block -> TypedTerm TryFinallyStatement
- Hydra.Dsl.Python.Syntax: tryFinallyStatementWithFinally :: TypedTerm TryFinallyStatement -> TypedTerm Block -> TypedTerm TryFinallyStatement
- Hydra.Dsl.Python.Syntax: tryStatementExcept :: TypedTerm TryExceptStatement -> TypedTerm TryStatement
- Hydra.Dsl.Python.Syntax: tryStatementExceptStar :: TypedTerm TryExceptStarStatement -> TypedTerm TryStatement
- Hydra.Dsl.Python.Syntax: tryStatementFinally :: TypedTerm TryFinallyStatement -> TypedTerm TryStatement
- Hydra.Dsl.Python.Syntax: tryStatementTryStatement :: TypedName TryStatement
- Hydra.Dsl.Python.Syntax: tuple :: TypedTerm [StarNamedExpression] -> TypedTerm Tuple
- Hydra.Dsl.Python.Syntax: tupleTuple :: TypedName Tuple
- Hydra.Dsl.Python.Syntax: typeAlias :: TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm Expression -> TypedTerm TypeAlias
- Hydra.Dsl.Python.Syntax: typeAliasExpression :: TypedTerm TypeAlias -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: typeAliasName :: TypedTerm TypeAlias -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: typeAliasTypeAlias :: TypedName TypeAlias
- Hydra.Dsl.Python.Syntax: typeAliasTypeParams :: TypedTerm TypeAlias -> TypedTerm [TypeParameter]
- Hydra.Dsl.Python.Syntax: typeAliasWithExpression :: TypedTerm TypeAlias -> TypedTerm Expression -> TypedTerm TypeAlias
- Hydra.Dsl.Python.Syntax: typeAliasWithName :: TypedTerm TypeAlias -> TypedTerm Name -> TypedTerm TypeAlias
- Hydra.Dsl.Python.Syntax: typeAliasWithTypeParams :: TypedTerm TypeAlias -> TypedTerm [TypeParameter] -> TypedTerm TypeAlias
- Hydra.Dsl.Python.Syntax: typeComment :: TypedTerm String -> TypedTerm TypeComment
- Hydra.Dsl.Python.Syntax: typeCommentTypeComment :: TypedName TypeComment
- Hydra.Dsl.Python.Syntax: typeExpressionDoubleStarredExpression :: TypedTerm Expression -> TypedTerm TypeExpression
- Hydra.Dsl.Python.Syntax: typeExpressionExpression :: TypedTerm Expression -> TypedTerm TypeExpression
- Hydra.Dsl.Python.Syntax: typeExpressionStarredExpression :: TypedTerm Expression -> TypedTerm TypeExpression
- Hydra.Dsl.Python.Syntax: typeExpressionTypeExpression :: TypedName TypeExpression
- Hydra.Dsl.Python.Syntax: typeParameterDoubleStar :: TypedTerm DoubleStarTypeParameter -> TypedTerm TypeParameter
- Hydra.Dsl.Python.Syntax: typeParameterSimple :: TypedTerm SimpleTypeParameter -> TypedTerm TypeParameter
- Hydra.Dsl.Python.Syntax: typeParameterStar :: TypedTerm StarTypeParameter -> TypedTerm TypeParameter
- Hydra.Dsl.Python.Syntax: typeParameterTypeParameter :: TypedName TypeParameter
- Hydra.Dsl.Python.Syntax: typedAssignment :: TypedTerm SingleTarget -> TypedTerm Expression -> TypedTerm (Maybe AnnotatedRhs) -> TypedTerm TypedAssignment
- Hydra.Dsl.Python.Syntax: typedAssignmentLhs :: TypedTerm TypedAssignment -> TypedTerm SingleTarget
- Hydra.Dsl.Python.Syntax: typedAssignmentRhs :: TypedTerm TypedAssignment -> TypedTerm (Maybe AnnotatedRhs)
- Hydra.Dsl.Python.Syntax: typedAssignmentType :: TypedTerm TypedAssignment -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: typedAssignmentTypedAssignment :: TypedName TypedAssignment
- Hydra.Dsl.Python.Syntax: typedAssignmentWithLhs :: TypedTerm TypedAssignment -> TypedTerm SingleTarget -> TypedTerm TypedAssignment
- Hydra.Dsl.Python.Syntax: typedAssignmentWithRhs :: TypedTerm TypedAssignment -> TypedTerm (Maybe AnnotatedRhs) -> TypedTerm TypedAssignment
- Hydra.Dsl.Python.Syntax: typedAssignmentWithType :: TypedTerm TypedAssignment -> TypedTerm Expression -> TypedTerm TypedAssignment
- Hydra.Dsl.Python.Syntax: unAnnotation :: TypedTerm Annotation -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: unAttribute :: TypedTerm Attribute -> TypedTerm [Name]
- Hydra.Dsl.Python.Syntax: unCapturePattern :: TypedTerm CapturePattern -> TypedTerm PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: unConjunction :: TypedTerm Conjunction -> TypedTerm [Inversion]
- Hydra.Dsl.Python.Syntax: unDecorators :: TypedTerm Decorators -> TypedTerm [NamedExpression]
- Hydra.Dsl.Python.Syntax: unDefault :: TypedTerm Default -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: unDelStatement :: TypedTerm DelStatement -> TypedTerm DelTargets
- Hydra.Dsl.Python.Syntax: unDelTargets :: TypedTerm DelTargets -> TypedTerm [DelTarget]
- Hydra.Dsl.Python.Syntax: unDict :: TypedTerm Dict -> TypedTerm [DoubleStarredKvpair]
- Hydra.Dsl.Python.Syntax: unDisjunction :: TypedTerm Disjunction -> TypedTerm [Conjunction]
- Hydra.Dsl.Python.Syntax: unDottedName :: TypedTerm DottedName -> TypedTerm [Name]
- Hydra.Dsl.Python.Syntax: unDoubleStarPattern :: TypedTerm DoubleStarPattern -> TypedTerm PatternCaptureTarget
- Hydra.Dsl.Python.Syntax: unEval :: TypedTerm Eval -> TypedTerm [Expression]
- Hydra.Dsl.Python.Syntax: unFile :: TypedTerm File -> TypedTerm [Statement]
- Hydra.Dsl.Python.Syntax: unForIfClauses :: TypedTerm ForIfClauses -> TypedTerm [ForIfClause]
- Hydra.Dsl.Python.Syntax: unFuncTypeComment :: TypedTerm FuncTypeComment -> TypedTerm TypeComment
- Hydra.Dsl.Python.Syntax: unGroupPattern :: TypedTerm GroupPattern -> TypedTerm Pattern
- Hydra.Dsl.Python.Syntax: unGuard :: TypedTerm Guard -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: unImaginaryNumber :: TypedTerm ImaginaryNumber -> TypedTerm Double
- Hydra.Dsl.Python.Syntax: unImportName :: TypedTerm ImportName -> TypedTerm [DottedAsName]
- Hydra.Dsl.Python.Syntax: unInteractive :: TypedTerm Interactive -> TypedTerm Statement
- Hydra.Dsl.Python.Syntax: unItemsPattern :: TypedTerm ItemsPattern -> TypedTerm [KeyValuePattern]
- Hydra.Dsl.Python.Syntax: unKeywordPatterns :: TypedTerm KeywordPatterns -> TypedTerm [KeywordPattern]
- Hydra.Dsl.Python.Syntax: unKeywords :: TypedTerm Keywords -> TypedTerm ParamNoDefault
- Hydra.Dsl.Python.Syntax: unLambdaKwds :: TypedTerm LambdaKwds -> TypedTerm LambdaParamNoDefault
- Hydra.Dsl.Python.Syntax: unLambdaParamNoDefault :: TypedTerm LambdaParamNoDefault -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: unList :: TypedTerm List -> TypedTerm [StarNamedExpression]
- Hydra.Dsl.Python.Syntax: unMaybeSequencePattern :: TypedTerm MaybeSequencePattern -> TypedTerm [MaybeStarPattern]
- Hydra.Dsl.Python.Syntax: unModule :: TypedTerm Module -> TypedTerm [[Statement]]
- Hydra.Dsl.Python.Syntax: unName :: TypedTerm Name -> TypedTerm String
- Hydra.Dsl.Python.Syntax: unNameOrAttribute :: TypedTerm NameOrAttribute -> TypedTerm [Name]
- Hydra.Dsl.Python.Syntax: unOrPattern :: TypedTerm OrPattern -> TypedTerm [ClosedPattern]
- Hydra.Dsl.Python.Syntax: unPatternCaptureTarget :: TypedTerm PatternCaptureTarget -> TypedTerm Name
- Hydra.Dsl.Python.Syntax: unPositionalPatterns :: TypedTerm PositionalPatterns -> TypedTerm [Pattern]
- Hydra.Dsl.Python.Syntax: unRaiseStatement :: TypedTerm RaiseStatement -> TypedTerm (Maybe RaiseExpression)
- Hydra.Dsl.Python.Syntax: unReturnStatement :: TypedTerm ReturnStatement -> TypedTerm [StarExpression]
- Hydra.Dsl.Python.Syntax: unSet :: TypedTerm Set -> TypedTerm [StarNamedExpression]
- Hydra.Dsl.Python.Syntax: unSlashNoDefault :: TypedTerm SlashNoDefault -> TypedTerm [ParamNoDefault]
- Hydra.Dsl.Python.Syntax: unStarAnnotation :: TypedTerm StarAnnotation -> TypedTerm StarExpression
- Hydra.Dsl.Python.Syntax: unStarNamedExpressions :: TypedTerm StarNamedExpressions -> TypedTerm [StarNamedExpression]
- Hydra.Dsl.Python.Syntax: unStarTargetsListSeq :: TypedTerm StarTargetsListSeq -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: unStarTargetsTupleSeq :: TypedTerm StarTargetsTupleSeq -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: unStarredExpression :: TypedTerm StarredExpression -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: unTuple :: TypedTerm Tuple -> TypedTerm [StarNamedExpression]
- Hydra.Dsl.Python.Syntax: unTypeComment :: TypedTerm TypeComment -> TypedTerm String
- Hydra.Dsl.Python.Syntax: unValuePattern :: TypedTerm ValuePattern -> TypedTerm Attribute
- Hydra.Dsl.Python.Syntax: unYieldStatement :: TypedTerm YieldStatement -> TypedTerm YieldExpression
- Hydra.Dsl.Python.Syntax: untypedAssignment :: TypedTerm [StarTarget] -> TypedTerm AnnotatedRhs -> TypedTerm (Maybe TypeComment) -> TypedTerm UntypedAssignment
- Hydra.Dsl.Python.Syntax: untypedAssignmentRhs :: TypedTerm UntypedAssignment -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Syntax: untypedAssignmentTargets :: TypedTerm UntypedAssignment -> TypedTerm [StarTarget]
- Hydra.Dsl.Python.Syntax: untypedAssignmentTypeComment :: TypedTerm UntypedAssignment -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: untypedAssignmentUntypedAssignment :: TypedName UntypedAssignment
- Hydra.Dsl.Python.Syntax: untypedAssignmentWithRhs :: TypedTerm UntypedAssignment -> TypedTerm AnnotatedRhs -> TypedTerm UntypedAssignment
- Hydra.Dsl.Python.Syntax: untypedAssignmentWithTargets :: TypedTerm UntypedAssignment -> TypedTerm [StarTarget] -> TypedTerm UntypedAssignment
- Hydra.Dsl.Python.Syntax: untypedAssignmentWithTypeComment :: TypedTerm UntypedAssignment -> TypedTerm (Maybe TypeComment) -> TypedTerm UntypedAssignment
- Hydra.Dsl.Python.Syntax: valuePattern :: TypedTerm Attribute -> TypedTerm ValuePattern
- Hydra.Dsl.Python.Syntax: valuePatternValuePattern :: TypedName ValuePattern
- Hydra.Dsl.Python.Syntax: whileStatement :: TypedTerm NamedExpression -> TypedTerm Block -> TypedTerm (Maybe Block) -> TypedTerm WhileStatement
- Hydra.Dsl.Python.Syntax: whileStatementBody :: TypedTerm WhileStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: whileStatementCondition :: TypedTerm WhileStatement -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Syntax: whileStatementElse :: TypedTerm WhileStatement -> TypedTerm (Maybe Block)
- Hydra.Dsl.Python.Syntax: whileStatementWhileStatement :: TypedName WhileStatement
- Hydra.Dsl.Python.Syntax: whileStatementWithBody :: TypedTerm WhileStatement -> TypedTerm Block -> TypedTerm WhileStatement
- Hydra.Dsl.Python.Syntax: whileStatementWithCondition :: TypedTerm WhileStatement -> TypedTerm NamedExpression -> TypedTerm WhileStatement
- Hydra.Dsl.Python.Syntax: whileStatementWithElse :: TypedTerm WhileStatement -> TypedTerm (Maybe Block) -> TypedTerm WhileStatement
- Hydra.Dsl.Python.Syntax: withItem :: TypedTerm Expression -> TypedTerm (Maybe StarTarget) -> TypedTerm WithItem
- Hydra.Dsl.Python.Syntax: withItemAs :: TypedTerm WithItem -> TypedTerm (Maybe StarTarget)
- Hydra.Dsl.Python.Syntax: withItemExpression :: TypedTerm WithItem -> TypedTerm Expression
- Hydra.Dsl.Python.Syntax: withItemWithAs :: TypedTerm WithItem -> TypedTerm (Maybe StarTarget) -> TypedTerm WithItem
- Hydra.Dsl.Python.Syntax: withItemWithExpression :: TypedTerm WithItem -> TypedTerm Expression -> TypedTerm WithItem
- Hydra.Dsl.Python.Syntax: withItemWithItem :: TypedName WithItem
- Hydra.Dsl.Python.Syntax: withStatement :: TypedTerm Bool -> TypedTerm [WithItem] -> TypedTerm (Maybe TypeComment) -> TypedTerm Block -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: withStatementAsync :: TypedTerm WithStatement -> TypedTerm Bool
- Hydra.Dsl.Python.Syntax: withStatementBody :: TypedTerm WithStatement -> TypedTerm Block
- Hydra.Dsl.Python.Syntax: withStatementItems :: TypedTerm WithStatement -> TypedTerm [WithItem]
- Hydra.Dsl.Python.Syntax: withStatementTypeComment :: TypedTerm WithStatement -> TypedTerm (Maybe TypeComment)
- Hydra.Dsl.Python.Syntax: withStatementWithAsync :: TypedTerm WithStatement -> TypedTerm Bool -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: withStatementWithBody :: TypedTerm WithStatement -> TypedTerm Block -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: withStatementWithItems :: TypedTerm WithStatement -> TypedTerm [WithItem] -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: withStatementWithStatement :: TypedName WithStatement
- Hydra.Dsl.Python.Syntax: withStatementWithTypeComment :: TypedTerm WithStatement -> TypedTerm (Maybe TypeComment) -> TypedTerm WithStatement
- Hydra.Dsl.Python.Syntax: yieldExpressionFrom :: TypedTerm Expression -> TypedTerm YieldExpression
- Hydra.Dsl.Python.Syntax: yieldExpressionSimple :: TypedTerm [StarExpression] -> TypedTerm YieldExpression
- Hydra.Dsl.Python.Syntax: yieldExpressionYieldExpression :: TypedName YieldExpression
- Hydra.Dsl.Python.Syntax: yieldStatement :: TypedTerm YieldExpression -> TypedTerm YieldStatement
- Hydra.Dsl.Python.Syntax: yieldStatementYieldStatement :: TypedName YieldStatement
- Hydra.Dsl.Python.Utils: annotatedExpression :: TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: annotatedStatement :: TypedTerm (Maybe String) -> TypedTerm Statement -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: assignment :: TypedTerm Name -> TypedTerm AnnotatedRhs -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: assignmentStatement :: TypedTerm Name -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: castTo :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: commentStatement :: TypedTerm String -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: decimalVariantMethods :: TypedTerm [Statement]
- Hydra.Dsl.Python.Utils: decodePyComparisonToPyAwaitPrimary :: TypedTerm Comparison -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: decodePyConjunctionToPyPrimary :: TypedTerm Conjunction -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: decodePyExpressionToPyPrimary :: TypedTerm Expression -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: decodePyInversionToPyPrimary :: TypedTerm Inversion -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: decodePyPowerToPyPrimary :: TypedTerm Power -> TypedTerm (Maybe Primary)
- Hydra.Dsl.Python.Utils: dottedAssignmentStatement :: TypedTerm Name -> TypedTerm Name -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: doubleQuotedString :: TypedTerm String -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: findNamespaces :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm [Definition] -> TypedTerm (ModuleNames DottedName)
- Hydra.Dsl.Python.Utils: functionCall :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: getItemParams :: TypedTerm Parameters
- Hydra.Dsl.Python.Utils: indentedBlock :: TypedTerm (Maybe String) -> TypedTerm [[Statement]] -> TypedTerm Block
- Hydra.Dsl.Python.Utils: nameAndParams :: TypedTerm Name -> TypedTerm [Expression] -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: newtypeStatement :: TypedTerm Name -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: orExpression :: TypedTerm [Primary] -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: primaryAndParams :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: primaryWithExpressionSlices :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: primaryWithRhs :: TypedTerm Primary -> TypedTerm PrimaryRhs -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: primaryWithSlices :: TypedTerm Primary -> TypedTerm Slice -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: projectFromExpression :: TypedTerm Expression -> TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyAssignmentToPyStatement :: TypedTerm Assignment -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: pyAtomToPyExpression :: TypedTerm Atom -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyBitwiseOrToPyConjunction :: TypedTerm BitwiseOr -> TypedTerm Conjunction
- Hydra.Dsl.Python.Utils: pyBitwiseOrToPyExpression :: TypedTerm BitwiseOr -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyClassDefinitionToPyStatement :: TypedTerm ClassDefinition -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: pyClosedPatternToPyPatterns :: TypedTerm ClosedPattern -> TypedTerm Patterns
- Hydra.Dsl.Python.Utils: pyConjunctionToPyExpression :: TypedTerm Conjunction -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyExpressionToBitwiseOr :: TypedTerm Expression -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Utils: pyExpressionToDisjunction :: TypedTerm Expression -> TypedTerm Disjunction
- Hydra.Dsl.Python.Utils: pyExpressionToPyAnnotatedRhs :: TypedTerm Expression -> TypedTerm AnnotatedRhs
- Hydra.Dsl.Python.Utils: pyExpressionToPyPrimary :: TypedTerm Expression -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: pyExpressionToPySimpleStatement :: TypedTerm Expression -> TypedTerm SimpleStatement
- Hydra.Dsl.Python.Utils: pyExpressionToPySlice :: TypedTerm Expression -> TypedTerm Slice
- Hydra.Dsl.Python.Utils: pyExpressionToPyStarNamedExpression :: TypedTerm Expression -> TypedTerm StarNamedExpression
- Hydra.Dsl.Python.Utils: pyExpressionToPyStatement :: TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: pyExpressionsToPyArgs :: TypedTerm [Expression] -> TypedTerm Args
- Hydra.Dsl.Python.Utils: pyList :: TypedTerm [Expression] -> TypedTerm List
- Hydra.Dsl.Python.Utils: pyNameToPyExpression :: TypedTerm Name -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyNameToPyNamedExpression :: TypedTerm Name -> TypedTerm NamedExpression
- Hydra.Dsl.Python.Utils: pyNameToPyPrimary :: TypedTerm Name -> TypedTerm Primary
- Hydra.Dsl.Python.Utils: pyNameToPyStarTarget :: TypedTerm Name -> TypedTerm StarTarget
- Hydra.Dsl.Python.Utils: pyNameToPyTypeParameter :: TypedTerm Name -> TypedTerm TypeParameter
- Hydra.Dsl.Python.Utils: pyNone :: TypedTerm Name
- Hydra.Dsl.Python.Utils: pyPrimaryToPyBitwiseOr :: TypedTerm Primary -> TypedTerm BitwiseOr
- Hydra.Dsl.Python.Utils: pyPrimaryToPyBitwiseXor :: TypedTerm Primary -> TypedTerm BitwiseXor
- Hydra.Dsl.Python.Utils: pyPrimaryToPyConjunction :: TypedTerm Primary -> TypedTerm Conjunction
- Hydra.Dsl.Python.Utils: pyPrimaryToPyExpression :: TypedTerm Primary -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: pyPrimaryToPySlice :: TypedTerm Primary -> TypedTerm Slice
- Hydra.Dsl.Python.Utils: pySimpleStatementToPyStatement :: TypedTerm SimpleStatement -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: raiseAssertionError :: TypedTerm String -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: raiseTypeError :: TypedTerm String -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: returnSingle :: TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: selfOnlyParams :: TypedTerm Parameters
- Hydra.Dsl.Python.Utils: selfOtherParams :: TypedTerm Parameters
- Hydra.Dsl.Python.Utils: singleQuotedString :: TypedTerm String -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: stringToPyExpression :: TypedTerm QuoteStyle -> TypedTerm String -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: targetPythonVersion :: TypedTerm PythonVersion
- Hydra.Dsl.Python.Utils: tripleQuotedString :: TypedTerm String -> TypedTerm Expression
- Hydra.Dsl.Python.Utils: typeAliasStatement :: TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: typeAliasStatement310 :: TypedTerm Name -> TypedTerm t0 -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
- Hydra.Dsl.Python.Utils: unionTypeClassStatements310 :: TypedTerm Name -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm [Statement] -> TypedTerm [Statement]
- Hydra.Dsl.Python.Utils: unitVariantMethods :: TypedTerm Name -> TypedTerm [Statement]
- Hydra.Python.Environment: instance GHC.Read.Read Hydra.Python.Environment.PythonModuleMetadata
- Hydra.Python.Environment: instance GHC.Read.Read Hydra.Python.Environment.PythonVersion
- Hydra.Python.Environment: instance GHC.Show.Show Hydra.Python.Environment.PythonModuleMetadata
- Hydra.Python.Environment: instance GHC.Show.Show Hydra.Python.Environment.PythonVersion
- Hydra.Python.Pyproject: instance GHC.Read.Read Hydra.Python.Pyproject.PyProjectBuildConfiguration
- Hydra.Python.Pyproject: instance GHC.Show.Show Hydra.Python.Pyproject.PyProjectBuildConfiguration
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AnnotatedRhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AnnotatedStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Annotation
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Args
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AsPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AssertStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Assignment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AssignmentExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Atom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Attribute
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AugAssign
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AugAssignment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.AwaitPrimary
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.BitwiseAnd
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.BitwiseOr
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.BitwiseXor
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Block
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CapturePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CaseBlock
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ClassDefinition
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ClassPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ClosedPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CommaStarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CompareOp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CompareOpBitwiseOrPair
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Comparison
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ComplexNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.CompoundStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Conditional
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Conjunction
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Decorators
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Default
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DelStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DelTAtom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DelTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DelTargets
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Dict
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Dictcomp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Disjunction
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DottedAsName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DottedName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DoubleStarPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DoubleStarTypeParameter
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.DoubleStarredKvpair
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Eval
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ExceptBlock
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ExceptExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ExceptStarBlock
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Expression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Factor
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.File
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ForIfClause
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ForIfClauses
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ForStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.FuncTypeComment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.FunctionDefRaw
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.FunctionDefinition
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Genexp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.GenexpHead
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Group
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.GroupPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Guard
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.IfStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.IfTail
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImaginaryNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportFrom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportFromAsName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportFromTargets
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ImportStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Interactive
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Inversion
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ItemsPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KeyValuePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KeywordPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KeywordPatterns
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Keywords
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Kvpair
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Kwarg
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KwargOrDoubleStarred
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.KwargOrStarred
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Lambda
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaKwds
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaParamMaybeDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaParamNoDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaParamWithDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaSlashNoDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaSlashWithDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LambdaStarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.List
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Listcomp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LiteralExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.LiteralExpressionOrAttribute
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.MappingPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.MatchStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.MaybeSequencePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.MaybeStarPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Module
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Name
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.NameOrAttribute
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.NamedExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.NoDefaultStarAnnotationStarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.NoDefaultStarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Number
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.OpenSequencePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.OrPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Param
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamMaybeDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamNoDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamNoDefaultParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamNoDefaultStarAnnotation
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamStarAnnotation
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamWithDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ParamWithDefaultParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Parameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Pattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PatternCaptureTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Patterns
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PlusOrMinus
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PosArg
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PositionalPatterns
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Power
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Primary
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PrimaryRhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.PrimaryWithRhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.QuoteStyle
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.RaiseExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.RaiseStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.RealNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.RelativeImportPrefix
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ReturnStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SequencePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Set
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Setcomp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ShiftExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ShiftLhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ShiftOp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SignedNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SignedRealNumber
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SimpleStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SimpleTypeParameter
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SingleSubscriptAttributeTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SingleTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SlashNoDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SlashNoDefaultParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SlashWithDefault
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SlashWithDefaultParameters
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Slice
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SliceExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SliceOrStarredExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Slices
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarAnnotation
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarAtom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarEtc
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarNamedExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarNamedExpressions
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarPattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarTarget
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarTargetsListSeq
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarTargetsTupleSeq
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarTypeParameter
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StarredExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Statement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.StringPrefix
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.String_
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SubjectExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Sum
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SumLhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.SumOp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimary
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimaryAndArguments
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimaryAndGenexp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimaryAndName
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TPrimaryAndSlices
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TargetWithStarAtom
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Term
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TermLhs
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TermOp
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TryExceptStarStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TryExceptStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TryFinallyStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TryStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.Tuple
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypeAlias
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypeComment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypeExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypeParameter
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.TypedAssignment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.UntypedAssignment
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.ValuePattern
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.WhileStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.WithItem
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.WithStatement
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.YieldExpression
- Hydra.Python.Syntax: instance GHC.Read.Read Hydra.Python.Syntax.YieldStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AnnotatedRhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AnnotatedStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Annotation
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Args
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AsPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AssertStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Assignment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AssignmentExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Atom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Attribute
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AugAssign
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AugAssignment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.AwaitPrimary
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.BitwiseAnd
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.BitwiseOr
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.BitwiseXor
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Block
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CapturePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CaseBlock
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ClassDefinition
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ClassPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ClosedPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CommaStarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CompareOp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CompareOpBitwiseOrPair
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Comparison
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ComplexNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.CompoundStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Conditional
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Conjunction
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Decorators
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Default
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DelStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DelTAtom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DelTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DelTargets
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Dict
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Dictcomp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Disjunction
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DottedAsName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DottedName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DoubleStarPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DoubleStarTypeParameter
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.DoubleStarredKvpair
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Eval
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ExceptBlock
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ExceptExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ExceptStarBlock
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Expression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Factor
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.File
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ForIfClause
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ForIfClauses
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ForStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.FuncTypeComment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.FunctionDefRaw
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.FunctionDefinition
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Genexp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.GenexpHead
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Group
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.GroupPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Guard
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.IfStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.IfTail
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImaginaryNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportFrom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportFromAsName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportFromTargets
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ImportStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Interactive
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Inversion
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ItemsPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KeyValuePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KeywordPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KeywordPatterns
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Keywords
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Kvpair
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Kwarg
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KwargOrDoubleStarred
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.KwargOrStarred
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Lambda
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaKwds
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaParamMaybeDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaParamNoDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaParamWithDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaSlashNoDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaSlashWithDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LambdaStarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.List
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Listcomp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LiteralExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.LiteralExpressionOrAttribute
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.MappingPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.MatchStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.MaybeSequencePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.MaybeStarPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Module
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Name
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.NameOrAttribute
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.NamedExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.NoDefaultStarAnnotationStarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.NoDefaultStarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Number
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.OpenSequencePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.OrPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Param
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamMaybeDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamNoDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamNoDefaultParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamNoDefaultStarAnnotation
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamStarAnnotation
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamWithDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ParamWithDefaultParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Parameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Pattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PatternCaptureTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Patterns
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PlusOrMinus
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PosArg
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PositionalPatterns
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Power
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Primary
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PrimaryRhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.PrimaryWithRhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.QuoteStyle
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.RaiseExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.RaiseStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.RealNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.RelativeImportPrefix
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ReturnStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SequencePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Set
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Setcomp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ShiftExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ShiftLhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ShiftOp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SignedNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SignedRealNumber
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SimpleStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SimpleTypeParameter
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SingleSubscriptAttributeTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SingleTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SlashNoDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SlashNoDefaultParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SlashWithDefault
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SlashWithDefaultParameters
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Slice
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SliceExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SliceOrStarredExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Slices
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarAnnotation
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarAtom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarEtc
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarNamedExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarNamedExpressions
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarPattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarTarget
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarTargetsListSeq
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarTargetsTupleSeq
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarTypeParameter
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StarredExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Statement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.StringPrefix
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.String_
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SubjectExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Sum
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SumLhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.SumOp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimary
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimaryAndArguments
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimaryAndGenexp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimaryAndName
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TPrimaryAndSlices
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TargetWithStarAtom
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Term
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TermLhs
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TermOp
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TryExceptStarStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TryExceptStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TryFinallyStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TryStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.Tuple
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypeAlias
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypeComment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypeExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypeParameter
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.TypedAssignment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.UntypedAssignment
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.ValuePattern
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.WhileStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.WithItem
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.WithStatement
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.YieldExpression
- Hydra.Python.Syntax: instance GHC.Show.Show Hydra.Python.Syntax.YieldStatement
+ Hydra.Python.Dsl.Environment: pyGraph :: TypedTerm Graph -> TypedTerm PythonModuleMetadata -> TypedTerm PyGraph
+ Hydra.Python.Dsl.Environment: pyGraphGraph :: TypedTerm PyGraph -> TypedTerm Graph
+ Hydra.Python.Dsl.Environment: pyGraphMetadata :: TypedTerm PyGraph -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pyGraphPyGraph :: TypedName PyGraph
+ Hydra.Python.Dsl.Environment: pyGraphWithGraph :: TypedTerm PyGraph -> TypedTerm Graph -> TypedTerm PyGraph
+ Hydra.Python.Dsl.Environment: pyGraphWithMetadata :: TypedTerm PyGraph -> TypedTerm PythonModuleMetadata -> TypedTerm PyGraph
+ Hydra.Python.Dsl.Environment: pythonEnvironment :: TypedTerm (ModuleNames DottedName) -> TypedTerm ([Name], Map Name Name) -> TypedTerm Graph -> TypedTerm (Set Name) -> TypedTerm PythonVersion -> TypedTerm Bool -> TypedTerm (Set Name) -> TypedTerm (Set String) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentBoundTypeVariables :: TypedTerm PythonEnvironment -> TypedTerm ([Name], Map Name Name)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentGraph :: TypedTerm PythonEnvironment -> TypedTerm Graph
+ Hydra.Python.Dsl.Environment: pythonEnvironmentInlineVariables :: TypedTerm PythonEnvironment -> TypedTerm (Set Name)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentNamespaces :: TypedTerm PythonEnvironment -> TypedTerm (ModuleNames DottedName)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentNullaryBindings :: TypedTerm PythonEnvironment -> TypedTerm (Set Name)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentOverlaySubs :: TypedTerm PythonEnvironment -> TypedTerm (Set String)
+ Hydra.Python.Dsl.Environment: pythonEnvironmentPythonEnvironment :: TypedName PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentSkipCasts :: TypedTerm PythonEnvironment -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonEnvironmentVersion :: TypedTerm PythonEnvironment -> TypedTerm PythonVersion
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithBoundTypeVariables :: TypedTerm PythonEnvironment -> TypedTerm ([Name], Map Name Name) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithGraph :: TypedTerm PythonEnvironment -> TypedTerm Graph -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithInlineVariables :: TypedTerm PythonEnvironment -> TypedTerm (Set Name) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithNamespaces :: TypedTerm PythonEnvironment -> TypedTerm (ModuleNames DottedName) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithNullaryBindings :: TypedTerm PythonEnvironment -> TypedTerm (Set Name) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithOverlaySubs :: TypedTerm PythonEnvironment -> TypedTerm (Set String) -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithSkipCasts :: TypedTerm PythonEnvironment -> TypedTerm Bool -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonEnvironmentWithVersion :: TypedTerm PythonEnvironment -> TypedTerm PythonVersion -> TypedTerm PythonEnvironment
+ Hydra.Python.Dsl.Environment: pythonModuleMetadata :: TypedTerm (ModuleNames DottedName) -> TypedTerm (Set Name) -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataNamespaces :: TypedTerm PythonModuleMetadata -> TypedTerm (ModuleNames DottedName)
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataPythonModuleMetadata :: TypedName PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataTypeVariables :: TypedTerm PythonModuleMetadata -> TypedTerm (Set Name)
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesAnnotated :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesCallable :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesCast :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesDataclass :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesDecimal :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesEither :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesEnum :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesFrozenDict :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesFrozenList :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesFrozenSet :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesGeneric :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesJust :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesLeft :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesLruCache :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesMaybe :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesName :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesNode :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesNothing :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesRight :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesTypeAlias :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataUsesTypeVar :: TypedTerm PythonModuleMetadata -> TypedTerm Bool
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithNamespaces :: TypedTerm PythonModuleMetadata -> TypedTerm (ModuleNames DottedName) -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithTypeVariables :: TypedTerm PythonModuleMetadata -> TypedTerm (Set Name) -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesAnnotated :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesCallable :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesCast :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesDataclass :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesDecimal :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesEither :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesEnum :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesFrozenDict :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesFrozenList :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesFrozenSet :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesGeneric :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesJust :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesLeft :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesLruCache :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesMaybe :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesName :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesNode :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesNothing :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesRight :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesTypeAlias :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonModuleMetadataWithUsesTypeVar :: TypedTerm PythonModuleMetadata -> TypedTerm Bool -> TypedTerm PythonModuleMetadata
+ Hydra.Python.Dsl.Environment: pythonVersionPython310 :: TypedTerm PythonVersion
+ Hydra.Python.Dsl.Environment: pythonVersionPython312 :: TypedTerm PythonVersion
+ Hydra.Python.Dsl.Environment: pythonVersionPythonVersion :: TypedName PythonVersion
+ Hydra.Python.Dsl.Names: encodeConstantForFieldName :: TypedTerm t0 -> TypedTerm t1 -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeConstantForTypeName :: TypedTerm t0 -> TypedTerm t1 -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeEnumValue :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeFieldName :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeName :: TypedTerm Bool -> TypedTerm CaseConvention -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeNameQualified :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: encodeNamespace :: TypedTerm ModuleName -> TypedTerm DottedName
+ Hydra.Python.Dsl.Names: encodeNamespaceStringWithOverrides :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm String
+ Hydra.Python.Dsl.Names: encodeNamespaceWithOverrides :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm DottedName
+ Hydra.Python.Dsl.Names: encodeTypeVariable :: TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Names: overlayPythonModuleAliases :: TypedTerm (Map ModuleName String)
+ Hydra.Python.Dsl.Names: sanitizePythonName :: TypedTerm String -> TypedTerm String
+ Hydra.Python.Dsl.Names: termVariableReference :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Names: typeVariableReference :: TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Names: useFutureAnnotations :: TypedTerm Bool
+ Hydra.Python.Dsl.Names: variableReference :: TypedTerm CaseConvention -> TypedTerm Bool -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Names: variantName :: TypedTerm Bool -> TypedTerm PythonEnvironment -> TypedTerm Name -> TypedTerm Name -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: annotatedRhsAnnotatedRhs :: TypedName AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: annotatedRhsStar :: TypedTerm [StarExpression] -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: annotatedRhsYield :: TypedTerm YieldExpression -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: annotatedStatement :: TypedTerm String -> TypedTerm Statement -> TypedTerm AnnotatedStatement
+ Hydra.Python.Dsl.Syntax: annotatedStatementAnnotatedStatement :: TypedName AnnotatedStatement
+ Hydra.Python.Dsl.Syntax: annotatedStatementComment :: TypedTerm AnnotatedStatement -> TypedTerm String
+ Hydra.Python.Dsl.Syntax: annotatedStatementStatement :: TypedTerm AnnotatedStatement -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: annotatedStatementWithComment :: TypedTerm AnnotatedStatement -> TypedTerm String -> TypedTerm AnnotatedStatement
+ Hydra.Python.Dsl.Syntax: annotatedStatementWithStatement :: TypedTerm AnnotatedStatement -> TypedTerm Statement -> TypedTerm AnnotatedStatement
+ Hydra.Python.Dsl.Syntax: annotation :: TypedTerm Expression -> TypedTerm Annotation
+ Hydra.Python.Dsl.Syntax: annotationAnnotation :: TypedName Annotation
+ Hydra.Python.Dsl.Syntax: args :: TypedTerm [PosArg] -> TypedTerm [KwargOrStarred] -> TypedTerm [KwargOrDoubleStarred] -> TypedTerm Args
+ Hydra.Python.Dsl.Syntax: argsArgs :: TypedName Args
+ Hydra.Python.Dsl.Syntax: argsKwargOrDoubleStarred :: TypedTerm Args -> TypedTerm [KwargOrDoubleStarred]
+ Hydra.Python.Dsl.Syntax: argsKwargOrStarred :: TypedTerm Args -> TypedTerm [KwargOrStarred]
+ Hydra.Python.Dsl.Syntax: argsPositional :: TypedTerm Args -> TypedTerm [PosArg]
+ Hydra.Python.Dsl.Syntax: argsWithKwargOrDoubleStarred :: TypedTerm Args -> TypedTerm [KwargOrDoubleStarred] -> TypedTerm Args
+ Hydra.Python.Dsl.Syntax: argsWithKwargOrStarred :: TypedTerm Args -> TypedTerm [KwargOrStarred] -> TypedTerm Args
+ Hydra.Python.Dsl.Syntax: argsWithPositional :: TypedTerm Args -> TypedTerm [PosArg] -> TypedTerm Args
+ Hydra.Python.Dsl.Syntax: asPattern :: TypedTerm OrPattern -> TypedTerm PatternCaptureTarget -> TypedTerm AsPattern
+ Hydra.Python.Dsl.Syntax: asPatternAs :: TypedTerm AsPattern -> TypedTerm PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: asPatternAsPattern :: TypedName AsPattern
+ Hydra.Python.Dsl.Syntax: asPatternPattern :: TypedTerm AsPattern -> TypedTerm OrPattern
+ Hydra.Python.Dsl.Syntax: asPatternWithAs :: TypedTerm AsPattern -> TypedTerm PatternCaptureTarget -> TypedTerm AsPattern
+ Hydra.Python.Dsl.Syntax: asPatternWithPattern :: TypedTerm AsPattern -> TypedTerm OrPattern -> TypedTerm AsPattern
+ Hydra.Python.Dsl.Syntax: assertStatement :: TypedTerm Expression -> TypedTerm (Maybe Expression) -> TypedTerm AssertStatement
+ Hydra.Python.Dsl.Syntax: assertStatementAssertStatement :: TypedName AssertStatement
+ Hydra.Python.Dsl.Syntax: assertStatementExpression1 :: TypedTerm AssertStatement -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: assertStatementExpression2 :: TypedTerm AssertStatement -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: assertStatementWithExpression1 :: TypedTerm AssertStatement -> TypedTerm Expression -> TypedTerm AssertStatement
+ Hydra.Python.Dsl.Syntax: assertStatementWithExpression2 :: TypedTerm AssertStatement -> TypedTerm (Maybe Expression) -> TypedTerm AssertStatement
+ Hydra.Python.Dsl.Syntax: assignmentAssignment :: TypedName Assignment
+ Hydra.Python.Dsl.Syntax: assignmentAug :: TypedTerm AugAssignment -> TypedTerm Assignment
+ Hydra.Python.Dsl.Syntax: assignmentExpression :: TypedTerm Name -> TypedTerm Expression -> TypedTerm AssignmentExpression
+ Hydra.Python.Dsl.Syntax: assignmentExpressionAssignmentExpression :: TypedName AssignmentExpression
+ Hydra.Python.Dsl.Syntax: assignmentExpressionExpression :: TypedTerm AssignmentExpression -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: assignmentExpressionName :: TypedTerm AssignmentExpression -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: assignmentExpressionWithExpression :: TypedTerm AssignmentExpression -> TypedTerm Expression -> TypedTerm AssignmentExpression
+ Hydra.Python.Dsl.Syntax: assignmentExpressionWithName :: TypedTerm AssignmentExpression -> TypedTerm Name -> TypedTerm AssignmentExpression
+ Hydra.Python.Dsl.Syntax: assignmentTyped :: TypedTerm TypedAssignment -> TypedTerm Assignment
+ Hydra.Python.Dsl.Syntax: assignmentUntyped :: TypedTerm UntypedAssignment -> TypedTerm Assignment
+ Hydra.Python.Dsl.Syntax: atomAtom :: TypedName Atom
+ Hydra.Python.Dsl.Syntax: atomDict :: TypedTerm Dict -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomDictcomp :: TypedTerm Dictcomp -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomEllipsis :: TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomFalse :: TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomGenexp :: TypedTerm Genexp -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomGroup :: TypedTerm Group -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomList :: TypedTerm List -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomListcomp :: TypedTerm Listcomp -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomName :: TypedTerm Name -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomNone :: TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomNumber :: TypedTerm Number -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomSet :: TypedTerm Set -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomSetcomp :: TypedTerm Setcomp -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomString :: TypedTerm String_ -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomTrue :: TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: atomTuple :: TypedTerm Tuple -> TypedTerm Atom
+ Hydra.Python.Dsl.Syntax: attribute :: TypedTerm [Name] -> TypedTerm Attribute
+ Hydra.Python.Dsl.Syntax: attributeAttribute :: TypedName Attribute
+ Hydra.Python.Dsl.Syntax: augAssignAmpersandEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignAtEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignAugAssign :: TypedName AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignBarEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignCaretEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignDoubleSlashEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignLeftShiftEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignMinusEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignPercentEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignPlusEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignRightShiftEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignSlashEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignStarStarEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignTimesEqual :: TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignment :: TypedTerm SingleTarget -> TypedTerm AugAssign -> TypedTerm AnnotatedRhs -> TypedTerm AugAssignment
+ Hydra.Python.Dsl.Syntax: augAssignmentAugAssignment :: TypedName AugAssignment
+ Hydra.Python.Dsl.Syntax: augAssignmentAugassign :: TypedTerm AugAssignment -> TypedTerm AugAssign
+ Hydra.Python.Dsl.Syntax: augAssignmentLhs :: TypedTerm AugAssignment -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: augAssignmentRhs :: TypedTerm AugAssignment -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: augAssignmentWithAugassign :: TypedTerm AugAssignment -> TypedTerm AugAssign -> TypedTerm AugAssignment
+ Hydra.Python.Dsl.Syntax: augAssignmentWithLhs :: TypedTerm AugAssignment -> TypedTerm SingleTarget -> TypedTerm AugAssignment
+ Hydra.Python.Dsl.Syntax: augAssignmentWithRhs :: TypedTerm AugAssignment -> TypedTerm AnnotatedRhs -> TypedTerm AugAssignment
+ Hydra.Python.Dsl.Syntax: awaitPrimary :: TypedTerm Bool -> TypedTerm Primary -> TypedTerm AwaitPrimary
+ Hydra.Python.Dsl.Syntax: awaitPrimaryAwait :: TypedTerm AwaitPrimary -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: awaitPrimaryAwaitPrimary :: TypedName AwaitPrimary
+ Hydra.Python.Dsl.Syntax: awaitPrimaryPrimary :: TypedTerm AwaitPrimary -> TypedTerm Primary
+ Hydra.Python.Dsl.Syntax: awaitPrimaryWithAwait :: TypedTerm AwaitPrimary -> TypedTerm Bool -> TypedTerm AwaitPrimary
+ Hydra.Python.Dsl.Syntax: awaitPrimaryWithPrimary :: TypedTerm AwaitPrimary -> TypedTerm Primary -> TypedTerm AwaitPrimary
+ Hydra.Python.Dsl.Syntax: bitwiseAnd :: TypedTerm (Maybe BitwiseAnd) -> TypedTerm ShiftExpression -> TypedTerm BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseAndBitwiseAnd :: TypedName BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseAndLhs :: TypedTerm BitwiseAnd -> TypedTerm (Maybe BitwiseAnd)
+ Hydra.Python.Dsl.Syntax: bitwiseAndRhs :: TypedTerm BitwiseAnd -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: bitwiseAndWithLhs :: TypedTerm BitwiseAnd -> TypedTerm (Maybe BitwiseAnd) -> TypedTerm BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseAndWithRhs :: TypedTerm BitwiseAnd -> TypedTerm ShiftExpression -> TypedTerm BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseOr :: TypedTerm (Maybe BitwiseOr) -> TypedTerm BitwiseXor -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: bitwiseOrBitwiseOr :: TypedName BitwiseOr
+ Hydra.Python.Dsl.Syntax: bitwiseOrLhs :: TypedTerm BitwiseOr -> TypedTerm (Maybe BitwiseOr)
+ Hydra.Python.Dsl.Syntax: bitwiseOrRhs :: TypedTerm BitwiseOr -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Syntax: bitwiseOrWithLhs :: TypedTerm BitwiseOr -> TypedTerm (Maybe BitwiseOr) -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: bitwiseOrWithRhs :: TypedTerm BitwiseOr -> TypedTerm BitwiseXor -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: bitwiseXor :: TypedTerm (Maybe BitwiseXor) -> TypedTerm BitwiseAnd -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Syntax: bitwiseXorBitwiseXor :: TypedName BitwiseXor
+ Hydra.Python.Dsl.Syntax: bitwiseXorLhs :: TypedTerm BitwiseXor -> TypedTerm (Maybe BitwiseXor)
+ Hydra.Python.Dsl.Syntax: bitwiseXorRhs :: TypedTerm BitwiseXor -> TypedTerm BitwiseAnd
+ Hydra.Python.Dsl.Syntax: bitwiseXorWithLhs :: TypedTerm BitwiseXor -> TypedTerm (Maybe BitwiseXor) -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Syntax: bitwiseXorWithRhs :: TypedTerm BitwiseXor -> TypedTerm BitwiseAnd -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Syntax: blockBlock :: TypedName Block
+ Hydra.Python.Dsl.Syntax: blockIndented :: TypedTerm [[Statement]] -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: blockSimple :: TypedTerm [SimpleStatement] -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: capturePattern :: TypedTerm PatternCaptureTarget -> TypedTerm CapturePattern
+ Hydra.Python.Dsl.Syntax: capturePatternCapturePattern :: TypedName CapturePattern
+ Hydra.Python.Dsl.Syntax: caseBlock :: TypedTerm Patterns -> TypedTerm (Maybe Guard) -> TypedTerm Block -> TypedTerm CaseBlock
+ Hydra.Python.Dsl.Syntax: caseBlockBody :: TypedTerm CaseBlock -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: caseBlockCaseBlock :: TypedName CaseBlock
+ Hydra.Python.Dsl.Syntax: caseBlockGuard :: TypedTerm CaseBlock -> TypedTerm (Maybe Guard)
+ Hydra.Python.Dsl.Syntax: caseBlockPatterns :: TypedTerm CaseBlock -> TypedTerm Patterns
+ Hydra.Python.Dsl.Syntax: caseBlockWithBody :: TypedTerm CaseBlock -> TypedTerm Block -> TypedTerm CaseBlock
+ Hydra.Python.Dsl.Syntax: caseBlockWithGuard :: TypedTerm CaseBlock -> TypedTerm (Maybe Guard) -> TypedTerm CaseBlock
+ Hydra.Python.Dsl.Syntax: caseBlockWithPatterns :: TypedTerm CaseBlock -> TypedTerm Patterns -> TypedTerm CaseBlock
+ Hydra.Python.Dsl.Syntax: classDefinition :: TypedTerm (Maybe Decorators) -> TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe Args) -> TypedTerm Block -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionArguments :: TypedTerm ClassDefinition -> TypedTerm (Maybe Args)
+ Hydra.Python.Dsl.Syntax: classDefinitionBody :: TypedTerm ClassDefinition -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: classDefinitionClassDefinition :: TypedName ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionDecorators :: TypedTerm ClassDefinition -> TypedTerm (Maybe Decorators)
+ Hydra.Python.Dsl.Syntax: classDefinitionName :: TypedTerm ClassDefinition -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: classDefinitionTypeParams :: TypedTerm ClassDefinition -> TypedTerm [TypeParameter]
+ Hydra.Python.Dsl.Syntax: classDefinitionWithArguments :: TypedTerm ClassDefinition -> TypedTerm (Maybe Args) -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionWithBody :: TypedTerm ClassDefinition -> TypedTerm Block -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionWithDecorators :: TypedTerm ClassDefinition -> TypedTerm (Maybe Decorators) -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionWithName :: TypedTerm ClassDefinition -> TypedTerm Name -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classDefinitionWithTypeParams :: TypedTerm ClassDefinition -> TypedTerm [TypeParameter] -> TypedTerm ClassDefinition
+ Hydra.Python.Dsl.Syntax: classPattern :: TypedTerm NameOrAttribute -> TypedTerm (Maybe PositionalPatterns) -> TypedTerm (Maybe KeywordPatterns) -> TypedTerm ClassPattern
+ Hydra.Python.Dsl.Syntax: classPatternClassPattern :: TypedName ClassPattern
+ Hydra.Python.Dsl.Syntax: classPatternKeywordPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe KeywordPatterns)
+ Hydra.Python.Dsl.Syntax: classPatternNameOrAttribute :: TypedTerm ClassPattern -> TypedTerm NameOrAttribute
+ Hydra.Python.Dsl.Syntax: classPatternPositionalPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe PositionalPatterns)
+ Hydra.Python.Dsl.Syntax: classPatternWithKeywordPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe KeywordPatterns) -> TypedTerm ClassPattern
+ Hydra.Python.Dsl.Syntax: classPatternWithNameOrAttribute :: TypedTerm ClassPattern -> TypedTerm NameOrAttribute -> TypedTerm ClassPattern
+ Hydra.Python.Dsl.Syntax: classPatternWithPositionalPatterns :: TypedTerm ClassPattern -> TypedTerm (Maybe PositionalPatterns) -> TypedTerm ClassPattern
+ Hydra.Python.Dsl.Syntax: closedPatternCapture :: TypedTerm CapturePattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternClass :: TypedTerm ClassPattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternClosedPattern :: TypedName ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternGroup :: TypedTerm GroupPattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternLiteral :: TypedTerm LiteralExpression -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternMapping :: TypedTerm MappingPattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternSequence :: TypedTerm SequencePattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternValue :: TypedTerm ValuePattern -> TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: closedPatternWildcard :: TypedTerm ClosedPattern
+ Hydra.Python.Dsl.Syntax: commaStarEtc :: TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm CommaStarEtc
+ Hydra.Python.Dsl.Syntax: commaStarEtcCommaStarEtc :: TypedName CommaStarEtc
+ Hydra.Python.Dsl.Syntax: commaStarEtcKeywords :: TypedTerm CommaStarEtc -> TypedTerm (Maybe Keywords)
+ Hydra.Python.Dsl.Syntax: commaStarEtcParamMaybeDefault :: TypedTerm CommaStarEtc -> TypedTerm [ParamMaybeDefault]
+ Hydra.Python.Dsl.Syntax: commaStarEtcWithKeywords :: TypedTerm CommaStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm CommaStarEtc
+ Hydra.Python.Dsl.Syntax: commaStarEtcWithParamMaybeDefault :: TypedTerm CommaStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm CommaStarEtc
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPair :: TypedTerm CompareOp -> TypedTerm BitwiseOr -> TypedTerm CompareOpBitwiseOrPair
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairCompareOpBitwiseOrPair :: TypedName CompareOpBitwiseOrPair
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairOperator :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairRhs :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairWithOperator :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm CompareOp -> TypedTerm CompareOpBitwiseOrPair
+ Hydra.Python.Dsl.Syntax: compareOpBitwiseOrPairWithRhs :: TypedTerm CompareOpBitwiseOrPair -> TypedTerm BitwiseOr -> TypedTerm CompareOpBitwiseOrPair
+ Hydra.Python.Dsl.Syntax: compareOpCompareOp :: TypedName CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpEq :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpGt :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpGte :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpIn :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpIs :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpIsnot :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpLt :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpLte :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpNoteq :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: compareOpNotin :: TypedTerm CompareOp
+ Hydra.Python.Dsl.Syntax: comparison :: TypedTerm BitwiseOr -> TypedTerm [CompareOpBitwiseOrPair] -> TypedTerm Comparison
+ Hydra.Python.Dsl.Syntax: comparisonComparison :: TypedName Comparison
+ Hydra.Python.Dsl.Syntax: comparisonLhs :: TypedTerm Comparison -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Syntax: comparisonRhs :: TypedTerm Comparison -> TypedTerm [CompareOpBitwiseOrPair]
+ Hydra.Python.Dsl.Syntax: comparisonWithLhs :: TypedTerm Comparison -> TypedTerm BitwiseOr -> TypedTerm Comparison
+ Hydra.Python.Dsl.Syntax: comparisonWithRhs :: TypedTerm Comparison -> TypedTerm [CompareOpBitwiseOrPair] -> TypedTerm Comparison
+ Hydra.Python.Dsl.Syntax: complexNumber :: TypedTerm SignedRealNumber -> TypedTerm PlusOrMinus -> TypedTerm ImaginaryNumber -> TypedTerm ComplexNumber
+ Hydra.Python.Dsl.Syntax: complexNumberComplexNumber :: TypedName ComplexNumber
+ Hydra.Python.Dsl.Syntax: complexNumberImaginary :: TypedTerm ComplexNumber -> TypedTerm ImaginaryNumber
+ Hydra.Python.Dsl.Syntax: complexNumberPlusOrMinus :: TypedTerm ComplexNumber -> TypedTerm PlusOrMinus
+ Hydra.Python.Dsl.Syntax: complexNumberReal :: TypedTerm ComplexNumber -> TypedTerm SignedRealNumber
+ Hydra.Python.Dsl.Syntax: complexNumberWithImaginary :: TypedTerm ComplexNumber -> TypedTerm ImaginaryNumber -> TypedTerm ComplexNumber
+ Hydra.Python.Dsl.Syntax: complexNumberWithPlusOrMinus :: TypedTerm ComplexNumber -> TypedTerm PlusOrMinus -> TypedTerm ComplexNumber
+ Hydra.Python.Dsl.Syntax: complexNumberWithReal :: TypedTerm ComplexNumber -> TypedTerm SignedRealNumber -> TypedTerm ComplexNumber
+ Hydra.Python.Dsl.Syntax: compoundStatementClassDef :: TypedTerm ClassDefinition -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementCompoundStatement :: TypedName CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementFor :: TypedTerm ForStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementFunction :: TypedTerm FunctionDefinition -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementIf :: TypedTerm IfStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementMatch :: TypedTerm MatchStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementTry :: TypedTerm TryStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementWhile :: TypedTerm WhileStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: compoundStatementWith :: TypedTerm WithStatement -> TypedTerm CompoundStatement
+ Hydra.Python.Dsl.Syntax: conditional :: TypedTerm Disjunction -> TypedTerm Disjunction -> TypedTerm Expression -> TypedTerm Conditional
+ Hydra.Python.Dsl.Syntax: conditionalBody :: TypedTerm Conditional -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Syntax: conditionalConditional :: TypedName Conditional
+ Hydra.Python.Dsl.Syntax: conditionalElse :: TypedTerm Conditional -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: conditionalIf :: TypedTerm Conditional -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Syntax: conditionalWithBody :: TypedTerm Conditional -> TypedTerm Disjunction -> TypedTerm Conditional
+ Hydra.Python.Dsl.Syntax: conditionalWithElse :: TypedTerm Conditional -> TypedTerm Expression -> TypedTerm Conditional
+ Hydra.Python.Dsl.Syntax: conditionalWithIf :: TypedTerm Conditional -> TypedTerm Disjunction -> TypedTerm Conditional
+ Hydra.Python.Dsl.Syntax: conjunction :: TypedTerm [Inversion] -> TypedTerm Conjunction
+ Hydra.Python.Dsl.Syntax: conjunctionConjunction :: TypedName Conjunction
+ Hydra.Python.Dsl.Syntax: decorators :: TypedTerm [NamedExpression] -> TypedTerm Decorators
+ Hydra.Python.Dsl.Syntax: decoratorsDecorators :: TypedName Decorators
+ Hydra.Python.Dsl.Syntax: defaultDefault :: TypedName Default
+ Hydra.Python.Dsl.Syntax: default_ :: TypedTerm Expression -> TypedTerm Default
+ Hydra.Python.Dsl.Syntax: delStatement :: TypedTerm DelTargets -> TypedTerm DelStatement
+ Hydra.Python.Dsl.Syntax: delStatementDelStatement :: TypedName DelStatement
+ Hydra.Python.Dsl.Syntax: delTAtomDelTAtom :: TypedName DelTAtom
+ Hydra.Python.Dsl.Syntax: delTAtomName :: TypedTerm Name -> TypedTerm DelTAtom
+ Hydra.Python.Dsl.Syntax: delTAtomTarget :: TypedTerm DelTarget -> TypedTerm DelTAtom
+ Hydra.Python.Dsl.Syntax: delTAtomTargets :: TypedTerm DelTargets -> TypedTerm DelTAtom
+ Hydra.Python.Dsl.Syntax: delTargetDelTAtom :: TypedTerm DelTAtom -> TypedTerm DelTarget
+ Hydra.Python.Dsl.Syntax: delTargetDelTarget :: TypedName DelTarget
+ Hydra.Python.Dsl.Syntax: delTargetPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm DelTarget
+ Hydra.Python.Dsl.Syntax: delTargetPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm DelTarget
+ Hydra.Python.Dsl.Syntax: delTargets :: TypedTerm [DelTarget] -> TypedTerm DelTargets
+ Hydra.Python.Dsl.Syntax: delTargetsDelTargets :: TypedName DelTargets
+ Hydra.Python.Dsl.Syntax: dict :: TypedTerm [DoubleStarredKvpair] -> TypedTerm Dict
+ Hydra.Python.Dsl.Syntax: dictDict :: TypedName Dict
+ Hydra.Python.Dsl.Syntax: dictcomp :: TypedTerm Kvpair -> TypedTerm ForIfClauses -> TypedTerm Dictcomp
+ Hydra.Python.Dsl.Syntax: dictcompDictcomp :: TypedName Dictcomp
+ Hydra.Python.Dsl.Syntax: dictcompForIfClauses :: TypedTerm Dictcomp -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: dictcompKvpair :: TypedTerm Dictcomp -> TypedTerm Kvpair
+ Hydra.Python.Dsl.Syntax: dictcompWithForIfClauses :: TypedTerm Dictcomp -> TypedTerm ForIfClauses -> TypedTerm Dictcomp
+ Hydra.Python.Dsl.Syntax: dictcompWithKvpair :: TypedTerm Dictcomp -> TypedTerm Kvpair -> TypedTerm Dictcomp
+ Hydra.Python.Dsl.Syntax: disjunction :: TypedTerm [Conjunction] -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Syntax: disjunctionDisjunction :: TypedName Disjunction
+ Hydra.Python.Dsl.Syntax: dottedAsName :: TypedTerm DottedName -> TypedTerm (Maybe Name) -> TypedTerm DottedAsName
+ Hydra.Python.Dsl.Syntax: dottedAsNameAs :: TypedTerm DottedAsName -> TypedTerm (Maybe Name)
+ Hydra.Python.Dsl.Syntax: dottedAsNameDottedAsName :: TypedName DottedAsName
+ Hydra.Python.Dsl.Syntax: dottedAsNameName :: TypedTerm DottedAsName -> TypedTerm DottedName
+ Hydra.Python.Dsl.Syntax: dottedAsNameWithAs :: TypedTerm DottedAsName -> TypedTerm (Maybe Name) -> TypedTerm DottedAsName
+ Hydra.Python.Dsl.Syntax: dottedAsNameWithName :: TypedTerm DottedAsName -> TypedTerm DottedName -> TypedTerm DottedAsName
+ Hydra.Python.Dsl.Syntax: dottedName :: TypedTerm [Name] -> TypedTerm DottedName
+ Hydra.Python.Dsl.Syntax: dottedNameDottedName :: TypedName DottedName
+ Hydra.Python.Dsl.Syntax: doubleStarPattern :: TypedTerm PatternCaptureTarget -> TypedTerm DoubleStarPattern
+ Hydra.Python.Dsl.Syntax: doubleStarPatternDoubleStarPattern :: TypedName DoubleStarPattern
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameter :: TypedTerm Name -> TypedTerm (Maybe Expression) -> TypedTerm DoubleStarTypeParameter
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterDefault :: TypedTerm DoubleStarTypeParameter -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterDoubleStarTypeParameter :: TypedName DoubleStarTypeParameter
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterName :: TypedTerm DoubleStarTypeParameter -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterWithDefault :: TypedTerm DoubleStarTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm DoubleStarTypeParameter
+ Hydra.Python.Dsl.Syntax: doubleStarTypeParameterWithName :: TypedTerm DoubleStarTypeParameter -> TypedTerm Name -> TypedTerm DoubleStarTypeParameter
+ Hydra.Python.Dsl.Syntax: doubleStarredKvpairDoubleStarredKvpair :: TypedName DoubleStarredKvpair
+ Hydra.Python.Dsl.Syntax: doubleStarredKvpairPair :: TypedTerm Kvpair -> TypedTerm DoubleStarredKvpair
+ Hydra.Python.Dsl.Syntax: doubleStarredKvpairStarred :: TypedTerm BitwiseOr -> TypedTerm DoubleStarredKvpair
+ Hydra.Python.Dsl.Syntax: eval :: TypedTerm [Expression] -> TypedTerm Eval
+ Hydra.Python.Dsl.Syntax: evalEval :: TypedName Eval
+ Hydra.Python.Dsl.Syntax: exceptBlock :: TypedTerm (Maybe ExceptExpression) -> TypedTerm Block -> TypedTerm ExceptBlock
+ Hydra.Python.Dsl.Syntax: exceptBlockBody :: TypedTerm ExceptBlock -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: exceptBlockExceptBlock :: TypedName ExceptBlock
+ Hydra.Python.Dsl.Syntax: exceptBlockExpression :: TypedTerm ExceptBlock -> TypedTerm (Maybe ExceptExpression)
+ Hydra.Python.Dsl.Syntax: exceptBlockWithBody :: TypedTerm ExceptBlock -> TypedTerm Block -> TypedTerm ExceptBlock
+ Hydra.Python.Dsl.Syntax: exceptBlockWithExpression :: TypedTerm ExceptBlock -> TypedTerm (Maybe ExceptExpression) -> TypedTerm ExceptBlock
+ Hydra.Python.Dsl.Syntax: exceptExpression :: TypedTerm Expression -> TypedTerm (Maybe Name) -> TypedTerm ExceptExpression
+ Hydra.Python.Dsl.Syntax: exceptExpressionAs :: TypedTerm ExceptExpression -> TypedTerm (Maybe Name)
+ Hydra.Python.Dsl.Syntax: exceptExpressionExceptExpression :: TypedName ExceptExpression
+ Hydra.Python.Dsl.Syntax: exceptExpressionExpression :: TypedTerm ExceptExpression -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: exceptExpressionWithAs :: TypedTerm ExceptExpression -> TypedTerm (Maybe Name) -> TypedTerm ExceptExpression
+ Hydra.Python.Dsl.Syntax: exceptExpressionWithExpression :: TypedTerm ExceptExpression -> TypedTerm Expression -> TypedTerm ExceptExpression
+ Hydra.Python.Dsl.Syntax: exceptStarBlock :: TypedTerm Expression -> TypedTerm (Maybe Name) -> TypedTerm Block -> TypedTerm ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: exceptStarBlockAs :: TypedTerm ExceptStarBlock -> TypedTerm (Maybe Name)
+ Hydra.Python.Dsl.Syntax: exceptStarBlockBody :: TypedTerm ExceptStarBlock -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: exceptStarBlockExceptStarBlock :: TypedName ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: exceptStarBlockExpression :: TypedTerm ExceptStarBlock -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: exceptStarBlockWithAs :: TypedTerm ExceptStarBlock -> TypedTerm (Maybe Name) -> TypedTerm ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: exceptStarBlockWithBody :: TypedTerm ExceptStarBlock -> TypedTerm Block -> TypedTerm ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: exceptStarBlockWithExpression :: TypedTerm ExceptStarBlock -> TypedTerm Expression -> TypedTerm ExceptStarBlock
+ Hydra.Python.Dsl.Syntax: expressionConditional :: TypedTerm Conditional -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: expressionExpression :: TypedName Expression
+ Hydra.Python.Dsl.Syntax: expressionLambda :: TypedTerm Lambda -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: expressionSimple :: TypedTerm Disjunction -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: factorComplement :: TypedTerm Factor -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: factorFactor :: TypedName Factor
+ Hydra.Python.Dsl.Syntax: factorNegative :: TypedTerm Factor -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: factorPositive :: TypedTerm Factor -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: factorSimple :: TypedTerm Power -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: file :: TypedTerm [Statement] -> TypedTerm File
+ Hydra.Python.Dsl.Syntax: fileFile :: TypedName File
+ Hydra.Python.Dsl.Syntax: forIfClause :: TypedTerm Bool -> TypedTerm [StarTarget] -> TypedTerm Disjunction -> TypedTerm [Disjunction] -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseAsync :: TypedTerm ForIfClause -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: forIfClauseForIfClause :: TypedName ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseIfs :: TypedTerm ForIfClause -> TypedTerm [Disjunction]
+ Hydra.Python.Dsl.Syntax: forIfClauseIn :: TypedTerm ForIfClause -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Syntax: forIfClauseTargets :: TypedTerm ForIfClause -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: forIfClauseWithAsync :: TypedTerm ForIfClause -> TypedTerm Bool -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseWithIfs :: TypedTerm ForIfClause -> TypedTerm [Disjunction] -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseWithIn :: TypedTerm ForIfClause -> TypedTerm Disjunction -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauseWithTargets :: TypedTerm ForIfClause -> TypedTerm [StarTarget] -> TypedTerm ForIfClause
+ Hydra.Python.Dsl.Syntax: forIfClauses :: TypedTerm [ForIfClause] -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: forIfClausesForIfClauses :: TypedName ForIfClauses
+ Hydra.Python.Dsl.Syntax: forStatement :: TypedTerm Bool -> TypedTerm [StarTarget] -> TypedTerm [StarExpression] -> TypedTerm (Maybe TypeComment) -> TypedTerm Block -> TypedTerm (Maybe Block) -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementAsync :: TypedTerm ForStatement -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: forStatementBody :: TypedTerm ForStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: forStatementElse :: TypedTerm ForStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: forStatementExpressions :: TypedTerm ForStatement -> TypedTerm [StarExpression]
+ Hydra.Python.Dsl.Syntax: forStatementForStatement :: TypedName ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementTargets :: TypedTerm ForStatement -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: forStatementTypeComment :: TypedTerm ForStatement -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: forStatementWithAsync :: TypedTerm ForStatement -> TypedTerm Bool -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithBody :: TypedTerm ForStatement -> TypedTerm Block -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithElse :: TypedTerm ForStatement -> TypedTerm (Maybe Block) -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithExpressions :: TypedTerm ForStatement -> TypedTerm [StarExpression] -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithTargets :: TypedTerm ForStatement -> TypedTerm [StarTarget] -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: forStatementWithTypeComment :: TypedTerm ForStatement -> TypedTerm (Maybe TypeComment) -> TypedTerm ForStatement
+ Hydra.Python.Dsl.Syntax: funcTypeComment :: TypedTerm TypeComment -> TypedTerm FuncTypeComment
+ Hydra.Python.Dsl.Syntax: funcTypeCommentFuncTypeComment :: TypedName FuncTypeComment
+ Hydra.Python.Dsl.Syntax: functionDefRaw :: TypedTerm Bool -> TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe Parameters) -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe FuncTypeComment) -> TypedTerm Block -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawAsync :: TypedTerm FunctionDefRaw -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: functionDefRawBlock :: TypedTerm FunctionDefRaw -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: functionDefRawFuncTypeComment :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe FuncTypeComment)
+ Hydra.Python.Dsl.Syntax: functionDefRawFunctionDefRaw :: TypedName FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawName :: TypedTerm FunctionDefRaw -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: functionDefRawParams :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Parameters)
+ Hydra.Python.Dsl.Syntax: functionDefRawReturnType :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: functionDefRawTypeParams :: TypedTerm FunctionDefRaw -> TypedTerm [TypeParameter]
+ Hydra.Python.Dsl.Syntax: functionDefRawWithAsync :: TypedTerm FunctionDefRaw -> TypedTerm Bool -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithBlock :: TypedTerm FunctionDefRaw -> TypedTerm Block -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithFuncTypeComment :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe FuncTypeComment) -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithName :: TypedTerm FunctionDefRaw -> TypedTerm Name -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithParams :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Parameters) -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithReturnType :: TypedTerm FunctionDefRaw -> TypedTerm (Maybe Expression) -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefRawWithTypeParams :: TypedTerm FunctionDefRaw -> TypedTerm [TypeParameter] -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefinition :: TypedTerm (Maybe Decorators) -> TypedTerm FunctionDefRaw -> TypedTerm FunctionDefinition
+ Hydra.Python.Dsl.Syntax: functionDefinitionDecorators :: TypedTerm FunctionDefinition -> TypedTerm (Maybe Decorators)
+ Hydra.Python.Dsl.Syntax: functionDefinitionFunctionDefinition :: TypedName FunctionDefinition
+ Hydra.Python.Dsl.Syntax: functionDefinitionRaw :: TypedTerm FunctionDefinition -> TypedTerm FunctionDefRaw
+ Hydra.Python.Dsl.Syntax: functionDefinitionWithDecorators :: TypedTerm FunctionDefinition -> TypedTerm (Maybe Decorators) -> TypedTerm FunctionDefinition
+ Hydra.Python.Dsl.Syntax: functionDefinitionWithRaw :: TypedTerm FunctionDefinition -> TypedTerm FunctionDefRaw -> TypedTerm FunctionDefinition
+ Hydra.Python.Dsl.Syntax: genexp :: TypedTerm GenexpHead -> TypedTerm ForIfClauses -> TypedTerm Genexp
+ Hydra.Python.Dsl.Syntax: genexpGenexp :: TypedName Genexp
+ Hydra.Python.Dsl.Syntax: genexpHead :: TypedTerm Genexp -> TypedTerm GenexpHead
+ Hydra.Python.Dsl.Syntax: genexpHeadAssignment :: TypedTerm AssignmentExpression -> TypedTerm GenexpHead
+ Hydra.Python.Dsl.Syntax: genexpHeadExpression :: TypedTerm Expression -> TypedTerm GenexpHead
+ Hydra.Python.Dsl.Syntax: genexpHeadGenexpHead :: TypedName GenexpHead
+ Hydra.Python.Dsl.Syntax: genexpTail :: TypedTerm Genexp -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: genexpWithHead :: TypedTerm Genexp -> TypedTerm GenexpHead -> TypedTerm Genexp
+ Hydra.Python.Dsl.Syntax: genexpWithTail :: TypedTerm Genexp -> TypedTerm ForIfClauses -> TypedTerm Genexp
+ Hydra.Python.Dsl.Syntax: groupExpression :: TypedTerm NamedExpression -> TypedTerm Group
+ Hydra.Python.Dsl.Syntax: groupGroup :: TypedName Group
+ Hydra.Python.Dsl.Syntax: groupPattern :: TypedTerm Pattern -> TypedTerm GroupPattern
+ Hydra.Python.Dsl.Syntax: groupPatternGroupPattern :: TypedName GroupPattern
+ Hydra.Python.Dsl.Syntax: groupYield :: TypedTerm YieldExpression -> TypedTerm Group
+ Hydra.Python.Dsl.Syntax: guard :: TypedTerm NamedExpression -> TypedTerm Guard
+ Hydra.Python.Dsl.Syntax: guardGuard :: TypedName Guard
+ Hydra.Python.Dsl.Syntax: ifStatement :: TypedTerm NamedExpression -> TypedTerm Block -> TypedTerm (Maybe IfTail) -> TypedTerm IfStatement
+ Hydra.Python.Dsl.Syntax: ifStatementBody :: TypedTerm IfStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: ifStatementCondition :: TypedTerm IfStatement -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: ifStatementContinuation :: TypedTerm IfStatement -> TypedTerm (Maybe IfTail)
+ Hydra.Python.Dsl.Syntax: ifStatementIfStatement :: TypedName IfStatement
+ Hydra.Python.Dsl.Syntax: ifStatementWithBody :: TypedTerm IfStatement -> TypedTerm Block -> TypedTerm IfStatement
+ Hydra.Python.Dsl.Syntax: ifStatementWithCondition :: TypedTerm IfStatement -> TypedTerm NamedExpression -> TypedTerm IfStatement
+ Hydra.Python.Dsl.Syntax: ifStatementWithContinuation :: TypedTerm IfStatement -> TypedTerm (Maybe IfTail) -> TypedTerm IfStatement
+ Hydra.Python.Dsl.Syntax: ifTailElif :: TypedTerm IfStatement -> TypedTerm IfTail
+ Hydra.Python.Dsl.Syntax: ifTailElse :: TypedTerm Block -> TypedTerm IfTail
+ Hydra.Python.Dsl.Syntax: ifTailIfTail :: TypedName IfTail
+ Hydra.Python.Dsl.Syntax: imaginaryNumber :: TypedTerm Double -> TypedTerm ImaginaryNumber
+ Hydra.Python.Dsl.Syntax: imaginaryNumberImaginaryNumber :: TypedName ImaginaryNumber
+ Hydra.Python.Dsl.Syntax: importFrom :: TypedTerm [RelativeImportPrefix] -> TypedTerm (Maybe DottedName) -> TypedTerm ImportFromTargets -> TypedTerm ImportFrom
+ Hydra.Python.Dsl.Syntax: importFromAsName :: TypedTerm Name -> TypedTerm (Maybe Name) -> TypedTerm ImportFromAsName
+ Hydra.Python.Dsl.Syntax: importFromAsNameAs :: TypedTerm ImportFromAsName -> TypedTerm (Maybe Name)
+ Hydra.Python.Dsl.Syntax: importFromAsNameImportFromAsName :: TypedName ImportFromAsName
+ Hydra.Python.Dsl.Syntax: importFromAsNameName :: TypedTerm ImportFromAsName -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: importFromAsNameWithAs :: TypedTerm ImportFromAsName -> TypedTerm (Maybe Name) -> TypedTerm ImportFromAsName
+ Hydra.Python.Dsl.Syntax: importFromAsNameWithName :: TypedTerm ImportFromAsName -> TypedTerm Name -> TypedTerm ImportFromAsName
+ Hydra.Python.Dsl.Syntax: importFromDottedName :: TypedTerm ImportFrom -> TypedTerm (Maybe DottedName)
+ Hydra.Python.Dsl.Syntax: importFromImportFrom :: TypedName ImportFrom
+ Hydra.Python.Dsl.Syntax: importFromPrefixes :: TypedTerm ImportFrom -> TypedTerm [RelativeImportPrefix]
+ Hydra.Python.Dsl.Syntax: importFromTargets :: TypedTerm ImportFrom -> TypedTerm ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromTargetsImportFromTargets :: TypedName ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromTargetsParens :: TypedTerm [ImportFromAsName] -> TypedTerm ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromTargetsSimple :: TypedTerm [ImportFromAsName] -> TypedTerm ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromTargetsStar :: TypedTerm ImportFromTargets
+ Hydra.Python.Dsl.Syntax: importFromWithDottedName :: TypedTerm ImportFrom -> TypedTerm (Maybe DottedName) -> TypedTerm ImportFrom
+ Hydra.Python.Dsl.Syntax: importFromWithPrefixes :: TypedTerm ImportFrom -> TypedTerm [RelativeImportPrefix] -> TypedTerm ImportFrom
+ Hydra.Python.Dsl.Syntax: importFromWithTargets :: TypedTerm ImportFrom -> TypedTerm ImportFromTargets -> TypedTerm ImportFrom
+ Hydra.Python.Dsl.Syntax: importName :: TypedTerm [DottedAsName] -> TypedTerm ImportName
+ Hydra.Python.Dsl.Syntax: importNameImportName :: TypedName ImportName
+ Hydra.Python.Dsl.Syntax: importStatementFrom :: TypedTerm ImportFrom -> TypedTerm ImportStatement
+ Hydra.Python.Dsl.Syntax: importStatementImportStatement :: TypedName ImportStatement
+ Hydra.Python.Dsl.Syntax: importStatementName :: TypedTerm ImportName -> TypedTerm ImportStatement
+ Hydra.Python.Dsl.Syntax: interactive :: TypedTerm Statement -> TypedTerm Interactive
+ Hydra.Python.Dsl.Syntax: interactiveInteractive :: TypedName Interactive
+ Hydra.Python.Dsl.Syntax: inversionInversion :: TypedName Inversion
+ Hydra.Python.Dsl.Syntax: inversionNot :: TypedTerm Inversion -> TypedTerm Inversion
+ Hydra.Python.Dsl.Syntax: inversionSimple :: TypedTerm Comparison -> TypedTerm Inversion
+ Hydra.Python.Dsl.Syntax: itemsPattern :: TypedTerm [KeyValuePattern] -> TypedTerm ItemsPattern
+ Hydra.Python.Dsl.Syntax: itemsPatternItemsPattern :: TypedName ItemsPattern
+ Hydra.Python.Dsl.Syntax: keyValuePattern :: TypedTerm LiteralExpressionOrAttribute -> TypedTerm Pattern -> TypedTerm KeyValuePattern
+ Hydra.Python.Dsl.Syntax: keyValuePatternKey :: TypedTerm KeyValuePattern -> TypedTerm LiteralExpressionOrAttribute
+ Hydra.Python.Dsl.Syntax: keyValuePatternKeyValuePattern :: TypedName KeyValuePattern
+ Hydra.Python.Dsl.Syntax: keyValuePatternValue :: TypedTerm KeyValuePattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: keyValuePatternWithKey :: TypedTerm KeyValuePattern -> TypedTerm LiteralExpressionOrAttribute -> TypedTerm KeyValuePattern
+ Hydra.Python.Dsl.Syntax: keyValuePatternWithValue :: TypedTerm KeyValuePattern -> TypedTerm Pattern -> TypedTerm KeyValuePattern
+ Hydra.Python.Dsl.Syntax: keywordPattern :: TypedTerm Name -> TypedTerm Pattern -> TypedTerm KeywordPattern
+ Hydra.Python.Dsl.Syntax: keywordPatternKeywordPattern :: TypedName KeywordPattern
+ Hydra.Python.Dsl.Syntax: keywordPatternName :: TypedTerm KeywordPattern -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: keywordPatternPattern :: TypedTerm KeywordPattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: keywordPatternWithName :: TypedTerm KeywordPattern -> TypedTerm Name -> TypedTerm KeywordPattern
+ Hydra.Python.Dsl.Syntax: keywordPatternWithPattern :: TypedTerm KeywordPattern -> TypedTerm Pattern -> TypedTerm KeywordPattern
+ Hydra.Python.Dsl.Syntax: keywordPatterns :: TypedTerm [KeywordPattern] -> TypedTerm KeywordPatterns
+ Hydra.Python.Dsl.Syntax: keywordPatternsKeywordPatterns :: TypedName KeywordPatterns
+ Hydra.Python.Dsl.Syntax: keywords :: TypedTerm ParamNoDefault -> TypedTerm Keywords
+ Hydra.Python.Dsl.Syntax: keywordsKeywords :: TypedName Keywords
+ Hydra.Python.Dsl.Syntax: kvpair :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm Kvpair
+ Hydra.Python.Dsl.Syntax: kvpairKey :: TypedTerm Kvpair -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: kvpairKvpair :: TypedName Kvpair
+ Hydra.Python.Dsl.Syntax: kvpairValue :: TypedTerm Kvpair -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: kvpairWithKey :: TypedTerm Kvpair -> TypedTerm Expression -> TypedTerm Kvpair
+ Hydra.Python.Dsl.Syntax: kvpairWithValue :: TypedTerm Kvpair -> TypedTerm Expression -> TypedTerm Kvpair
+ Hydra.Python.Dsl.Syntax: kwarg :: TypedTerm Name -> TypedTerm Expression -> TypedTerm Kwarg
+ Hydra.Python.Dsl.Syntax: kwargKwarg :: TypedName Kwarg
+ Hydra.Python.Dsl.Syntax: kwargName :: TypedTerm Kwarg -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: kwargOrDoubleStarredDoubleStarred :: TypedTerm Expression -> TypedTerm KwargOrDoubleStarred
+ Hydra.Python.Dsl.Syntax: kwargOrDoubleStarredKwarg :: TypedTerm Kwarg -> TypedTerm KwargOrDoubleStarred
+ Hydra.Python.Dsl.Syntax: kwargOrDoubleStarredKwargOrDoubleStarred :: TypedName KwargOrDoubleStarred
+ Hydra.Python.Dsl.Syntax: kwargOrStarredKwarg :: TypedTerm Kwarg -> TypedTerm KwargOrStarred
+ Hydra.Python.Dsl.Syntax: kwargOrStarredKwargOrStarred :: TypedName KwargOrStarred
+ Hydra.Python.Dsl.Syntax: kwargOrStarredStarred :: TypedTerm StarredExpression -> TypedTerm KwargOrStarred
+ Hydra.Python.Dsl.Syntax: kwargValue :: TypedTerm Kwarg -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: kwargWithName :: TypedTerm Kwarg -> TypedTerm Name -> TypedTerm Kwarg
+ Hydra.Python.Dsl.Syntax: kwargWithValue :: TypedTerm Kwarg -> TypedTerm Expression -> TypedTerm Kwarg
+ Hydra.Python.Dsl.Syntax: lambda :: TypedTerm LambdaParameters -> TypedTerm Expression -> TypedTerm Lambda
+ Hydra.Python.Dsl.Syntax: lambdaBody :: TypedTerm Lambda -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: lambdaKwds :: TypedTerm LambdaParamNoDefault -> TypedTerm LambdaKwds
+ Hydra.Python.Dsl.Syntax: lambdaKwdsLambdaKwds :: TypedName LambdaKwds
+ Hydra.Python.Dsl.Syntax: lambdaLambda :: TypedName Lambda
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefault :: TypedTerm Name -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultDefault :: TypedTerm LambdaParamMaybeDefault -> TypedTerm (Maybe Default)
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultLambdaParamMaybeDefault :: TypedName LambdaParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultParam :: TypedTerm LambdaParamMaybeDefault -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultWithDefault :: TypedTerm LambdaParamMaybeDefault -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamMaybeDefaultWithParam :: TypedTerm LambdaParamMaybeDefault -> TypedTerm Name -> TypedTerm LambdaParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamNoDefault :: TypedTerm Name -> TypedTerm LambdaParamNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamNoDefaultLambdaParamNoDefault :: TypedName LambdaParamNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefault :: TypedTerm Name -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultDefault :: TypedTerm LambdaParamWithDefault -> TypedTerm (Maybe Default)
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultLambdaParamWithDefault :: TypedName LambdaParamWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultParam :: TypedTerm LambdaParamWithDefault -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultWithDefault :: TypedTerm LambdaParamWithDefault -> TypedTerm (Maybe Default) -> TypedTerm LambdaParamWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaParamWithDefaultWithParam :: TypedTerm LambdaParamWithDefault -> TypedTerm Name -> TypedTerm LambdaParamWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaParameters :: TypedTerm (Maybe LambdaSlashNoDefault) -> TypedTerm [LambdaParamNoDefault] -> TypedTerm [LambdaParamWithDefault] -> TypedTerm (Maybe LambdaStarEtc) -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersLambdaParameters :: TypedName LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersParamNoDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamNoDefault]
+ Hydra.Python.Dsl.Syntax: lambdaParametersParamWithDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamWithDefault]
+ Hydra.Python.Dsl.Syntax: lambdaParametersSlashNoDefault :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaSlashNoDefault)
+ Hydra.Python.Dsl.Syntax: lambdaParametersStarEtc :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaStarEtc)
+ Hydra.Python.Dsl.Syntax: lambdaParametersWithParamNoDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersWithParamWithDefault :: TypedTerm LambdaParameters -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersWithSlashNoDefault :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaSlashNoDefault) -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParametersWithStarEtc :: TypedTerm LambdaParameters -> TypedTerm (Maybe LambdaStarEtc) -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaParams :: TypedTerm Lambda -> TypedTerm LambdaParameters
+ Hydra.Python.Dsl.Syntax: lambdaSlashNoDefault :: TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashNoDefaultLambdaSlashNoDefault :: TypedName LambdaSlashNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashNoDefaultParameters :: TypedTerm LambdaSlashNoDefault -> TypedTerm [LambdaParamNoDefault]
+ Hydra.Python.Dsl.Syntax: lambdaSlashNoDefaultWithParameters :: TypedTerm LambdaSlashNoDefault -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashNoDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefault :: TypedTerm [LambdaParamNoDefault] -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaSlashWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultLambdaSlashWithDefault :: TypedName LambdaSlashWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultParamNoDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamNoDefault]
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultParamWithDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamWithDefault]
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultWithParamNoDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamNoDefault] -> TypedTerm LambdaSlashWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaSlashWithDefaultWithParamWithDefault :: TypedTerm LambdaSlashWithDefault -> TypedTerm [LambdaParamWithDefault] -> TypedTerm LambdaSlashWithDefault
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcKwds :: TypedTerm LambdaKwds -> TypedTerm LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcLambdaStarEtc :: TypedName LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcParamMaybeDefault :: TypedTerm [LambdaParamMaybeDefault] -> TypedTerm LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcParamNoDefault :: TypedTerm LambdaParamNoDefault -> TypedTerm LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaStarEtcStar :: TypedTerm Bool -> TypedTerm LambdaStarEtc
+ Hydra.Python.Dsl.Syntax: lambdaWithBody :: TypedTerm Lambda -> TypedTerm Expression -> TypedTerm Lambda
+ Hydra.Python.Dsl.Syntax: lambdaWithParams :: TypedTerm Lambda -> TypedTerm LambdaParameters -> TypedTerm Lambda
+ Hydra.Python.Dsl.Syntax: list :: TypedTerm [StarNamedExpression] -> TypedTerm List
+ Hydra.Python.Dsl.Syntax: listList :: TypedName List
+ Hydra.Python.Dsl.Syntax: listcomp :: TypedTerm NamedExpression -> TypedTerm ForIfClauses -> TypedTerm Listcomp
+ Hydra.Python.Dsl.Syntax: listcompExpression :: TypedTerm Listcomp -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: listcompForIfClauses :: TypedTerm Listcomp -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: listcompListcomp :: TypedName Listcomp
+ Hydra.Python.Dsl.Syntax: listcompWithExpression :: TypedTerm Listcomp -> TypedTerm NamedExpression -> TypedTerm Listcomp
+ Hydra.Python.Dsl.Syntax: listcompWithForIfClauses :: TypedTerm Listcomp -> TypedTerm ForIfClauses -> TypedTerm Listcomp
+ Hydra.Python.Dsl.Syntax: literalExpressionComplex :: TypedTerm ComplexNumber -> TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionFalse :: TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionLiteralExpression :: TypedName LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionNone :: TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionNumber :: TypedTerm SignedNumber -> TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionOrAttributeAttribute :: TypedTerm Attribute -> TypedTerm LiteralExpressionOrAttribute
+ Hydra.Python.Dsl.Syntax: literalExpressionOrAttributeLiteral :: TypedTerm LiteralExpression -> TypedTerm LiteralExpressionOrAttribute
+ Hydra.Python.Dsl.Syntax: literalExpressionOrAttributeLiteralExpressionOrAttribute :: TypedName LiteralExpressionOrAttribute
+ Hydra.Python.Dsl.Syntax: literalExpressionString :: TypedTerm String_ -> TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: literalExpressionTrue :: TypedTerm LiteralExpression
+ Hydra.Python.Dsl.Syntax: mappingPattern :: TypedTerm (Maybe ItemsPattern) -> TypedTerm (Maybe DoubleStarPattern) -> TypedTerm MappingPattern
+ Hydra.Python.Dsl.Syntax: mappingPatternDoubleStar :: TypedTerm MappingPattern -> TypedTerm (Maybe DoubleStarPattern)
+ Hydra.Python.Dsl.Syntax: mappingPatternItems :: TypedTerm MappingPattern -> TypedTerm (Maybe ItemsPattern)
+ Hydra.Python.Dsl.Syntax: mappingPatternMappingPattern :: TypedName MappingPattern
+ Hydra.Python.Dsl.Syntax: mappingPatternWithDoubleStar :: TypedTerm MappingPattern -> TypedTerm (Maybe DoubleStarPattern) -> TypedTerm MappingPattern
+ Hydra.Python.Dsl.Syntax: mappingPatternWithItems :: TypedTerm MappingPattern -> TypedTerm (Maybe ItemsPattern) -> TypedTerm MappingPattern
+ Hydra.Python.Dsl.Syntax: matchStatement :: TypedTerm SubjectExpression -> TypedTerm [CaseBlock] -> TypedTerm MatchStatement
+ Hydra.Python.Dsl.Syntax: matchStatementCases :: TypedTerm MatchStatement -> TypedTerm [CaseBlock]
+ Hydra.Python.Dsl.Syntax: matchStatementMatchStatement :: TypedName MatchStatement
+ Hydra.Python.Dsl.Syntax: matchStatementSubject :: TypedTerm MatchStatement -> TypedTerm SubjectExpression
+ Hydra.Python.Dsl.Syntax: matchStatementWithCases :: TypedTerm MatchStatement -> TypedTerm [CaseBlock] -> TypedTerm MatchStatement
+ Hydra.Python.Dsl.Syntax: matchStatementWithSubject :: TypedTerm MatchStatement -> TypedTerm SubjectExpression -> TypedTerm MatchStatement
+ Hydra.Python.Dsl.Syntax: maybeSequencePattern :: TypedTerm [MaybeStarPattern] -> TypedTerm MaybeSequencePattern
+ Hydra.Python.Dsl.Syntax: maybeSequencePatternMaybeSequencePattern :: TypedName MaybeSequencePattern
+ Hydra.Python.Dsl.Syntax: maybeStarPatternMaybeStarPattern :: TypedName MaybeStarPattern
+ Hydra.Python.Dsl.Syntax: maybeStarPatternPattern :: TypedTerm Pattern -> TypedTerm MaybeStarPattern
+ Hydra.Python.Dsl.Syntax: maybeStarPatternStar :: TypedTerm StarPattern -> TypedTerm MaybeStarPattern
+ Hydra.Python.Dsl.Syntax: moduleModule :: TypedName Module
+ Hydra.Python.Dsl.Syntax: module_ :: TypedTerm [[Statement]] -> TypedTerm Module
+ Hydra.Python.Dsl.Syntax: name :: TypedTerm String -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: nameName :: TypedName Name
+ Hydra.Python.Dsl.Syntax: nameOrAttribute :: TypedTerm [Name] -> TypedTerm NameOrAttribute
+ Hydra.Python.Dsl.Syntax: nameOrAttributeNameOrAttribute :: TypedName NameOrAttribute
+ Hydra.Python.Dsl.Syntax: namedExpressionAssignment :: TypedTerm AssignmentExpression -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: namedExpressionNamedExpression :: TypedName NamedExpression
+ Hydra.Python.Dsl.Syntax: namedExpressionSimple :: TypedTerm Expression -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtc :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcKeywords :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm (Maybe Keywords)
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc :: TypedName NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcParamMaybeDefault :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm [ParamMaybeDefault]
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcWithKeywords :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcWithParamMaybeDefault :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtc :: TypedTerm ParamNoDefault -> TypedTerm [ParamMaybeDefault] -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcKeywords :: TypedTerm NoDefaultStarEtc -> TypedTerm (Maybe Keywords)
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcNoDefaultStarEtc :: TypedName NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcParamMaybeDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm [ParamMaybeDefault]
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcParamNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcWithKeywords :: TypedTerm NoDefaultStarEtc -> TypedTerm (Maybe Keywords) -> TypedTerm NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcWithParamMaybeDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm [ParamMaybeDefault] -> TypedTerm NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: noDefaultStarEtcWithParamNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm ParamNoDefault -> TypedTerm NoDefaultStarEtc
+ Hydra.Python.Dsl.Syntax: numberFloat :: TypedTerm Double -> TypedTerm Number
+ Hydra.Python.Dsl.Syntax: numberImaginary :: TypedTerm Double -> TypedTerm Number
+ Hydra.Python.Dsl.Syntax: numberInteger :: TypedTerm Integer -> TypedTerm Number
+ Hydra.Python.Dsl.Syntax: numberNumber :: TypedName Number
+ Hydra.Python.Dsl.Syntax: openSequencePattern :: TypedTerm MaybeStarPattern -> TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm OpenSequencePattern
+ Hydra.Python.Dsl.Syntax: openSequencePatternHead :: TypedTerm OpenSequencePattern -> TypedTerm MaybeStarPattern
+ Hydra.Python.Dsl.Syntax: openSequencePatternOpenSequencePattern :: TypedName OpenSequencePattern
+ Hydra.Python.Dsl.Syntax: openSequencePatternTail :: TypedTerm OpenSequencePattern -> TypedTerm (Maybe MaybeSequencePattern)
+ Hydra.Python.Dsl.Syntax: openSequencePatternWithHead :: TypedTerm OpenSequencePattern -> TypedTerm MaybeStarPattern -> TypedTerm OpenSequencePattern
+ Hydra.Python.Dsl.Syntax: openSequencePatternWithTail :: TypedTerm OpenSequencePattern -> TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm OpenSequencePattern
+ Hydra.Python.Dsl.Syntax: orPattern :: TypedTerm [ClosedPattern] -> TypedTerm OrPattern
+ Hydra.Python.Dsl.Syntax: orPatternOrPattern :: TypedName OrPattern
+ Hydra.Python.Dsl.Syntax: param :: TypedTerm Name -> TypedTerm (Maybe Annotation) -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramAnnotation :: TypedTerm Param -> TypedTerm (Maybe Annotation)
+ Hydra.Python.Dsl.Syntax: paramMaybeDefault :: TypedTerm Param -> TypedTerm (Maybe Default) -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultDefault :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe Default)
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultParam :: TypedTerm ParamMaybeDefault -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultParamMaybeDefault :: TypedName ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultTypeComment :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultWithDefault :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe Default) -> TypedTerm ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultWithParam :: TypedTerm ParamMaybeDefault -> TypedTerm Param -> TypedTerm ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramMaybeDefaultWithTypeComment :: TypedTerm ParamMaybeDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamMaybeDefault
+ Hydra.Python.Dsl.Syntax: paramName :: TypedTerm Param -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: paramNoDefault :: TypedTerm Param -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParam :: TypedTerm ParamNoDefault -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParamNoDefault :: TypedName ParamNoDefault
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParameters :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersParamNoDefaultParameters :: TypedName ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersParamWithDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersStarEtc :: TypedTerm ParamNoDefaultParameters -> TypedTerm (Maybe StarEtc)
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersWithParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersWithParamWithDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultParametersWithStarEtc :: TypedTerm ParamNoDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation :: TypedName ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationParamStarAnnotation :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationTypeComment :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationWithParamStarAnnotation :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm ParamStarAnnotation -> TypedTerm ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultStarAnnotationWithTypeComment :: TypedTerm ParamNoDefaultStarAnnotation -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefaultStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramNoDefaultTypeComment :: TypedTerm ParamNoDefault -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: paramNoDefaultWithParam :: TypedTerm ParamNoDefault -> TypedTerm Param -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: paramNoDefaultWithTypeComment :: TypedTerm ParamNoDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: paramParam :: TypedName Param
+ Hydra.Python.Dsl.Syntax: paramStarAnnotation :: TypedTerm Name -> TypedTerm StarAnnotation -> TypedTerm ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm StarAnnotation
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationName :: TypedTerm ParamStarAnnotation -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationParamStarAnnotation :: TypedName ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationWithAnnotation :: TypedTerm ParamStarAnnotation -> TypedTerm StarAnnotation -> TypedTerm ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramStarAnnotationWithName :: TypedTerm ParamStarAnnotation -> TypedTerm Name -> TypedTerm ParamStarAnnotation
+ Hydra.Python.Dsl.Syntax: paramWithAnnotation :: TypedTerm Param -> TypedTerm (Maybe Annotation) -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramWithDefault :: TypedTerm Param -> TypedTerm Default -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithDefaultDefault :: TypedTerm ParamWithDefault -> TypedTerm Default
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParam :: TypedTerm ParamWithDefault -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParamWithDefault :: TypedName ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParameters :: TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersParamWithDefaultParameters :: TypedName ParamWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersStarEtc :: TypedTerm ParamWithDefaultParameters -> TypedTerm (Maybe StarEtc)
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersWithParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm ParamWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramWithDefaultParametersWithStarEtc :: TypedTerm ParamWithDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm ParamWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: paramWithDefaultTypeComment :: TypedTerm ParamWithDefault -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: paramWithDefaultWithDefault :: TypedTerm ParamWithDefault -> TypedTerm Default -> TypedTerm ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithDefaultWithParam :: TypedTerm ParamWithDefault -> TypedTerm Param -> TypedTerm ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithDefaultWithTypeComment :: TypedTerm ParamWithDefault -> TypedTerm (Maybe TypeComment) -> TypedTerm ParamWithDefault
+ Hydra.Python.Dsl.Syntax: paramWithName :: TypedTerm Param -> TypedTerm Name -> TypedTerm Param
+ Hydra.Python.Dsl.Syntax: parametersParamNoDefault :: TypedTerm ParamNoDefaultParameters -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: parametersParamWithDefault :: TypedTerm ParamWithDefaultParameters -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: parametersParameters :: TypedName Parameters
+ Hydra.Python.Dsl.Syntax: parametersSlashNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: parametersSlashWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: parametersStarEtc :: TypedTerm StarEtc -> TypedTerm Parameters
+ Hydra.Python.Dsl.Syntax: patternAs :: TypedTerm AsPattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: patternCaptureTarget :: TypedTerm Name -> TypedTerm PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: patternCaptureTargetPatternCaptureTarget :: TypedName PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: patternOr :: TypedTerm OrPattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: patternPattern :: TypedName Pattern
+ Hydra.Python.Dsl.Syntax: patternsPattern :: TypedTerm Pattern -> TypedTerm Patterns
+ Hydra.Python.Dsl.Syntax: patternsPatterns :: TypedName Patterns
+ Hydra.Python.Dsl.Syntax: patternsSequence :: TypedTerm OpenSequencePattern -> TypedTerm Patterns
+ Hydra.Python.Dsl.Syntax: plusOrMinusMinus :: TypedTerm PlusOrMinus
+ Hydra.Python.Dsl.Syntax: plusOrMinusPlus :: TypedTerm PlusOrMinus
+ Hydra.Python.Dsl.Syntax: plusOrMinusPlusOrMinus :: TypedName PlusOrMinus
+ Hydra.Python.Dsl.Syntax: posArgAssignment :: TypedTerm AssignmentExpression -> TypedTerm PosArg
+ Hydra.Python.Dsl.Syntax: posArgExpression :: TypedTerm Expression -> TypedTerm PosArg
+ Hydra.Python.Dsl.Syntax: posArgPosArg :: TypedName PosArg
+ Hydra.Python.Dsl.Syntax: posArgStarred :: TypedTerm StarredExpression -> TypedTerm PosArg
+ Hydra.Python.Dsl.Syntax: positionalPatterns :: TypedTerm [Pattern] -> TypedTerm PositionalPatterns
+ Hydra.Python.Dsl.Syntax: positionalPatternsPositionalPatterns :: TypedName PositionalPatterns
+ Hydra.Python.Dsl.Syntax: power :: TypedTerm AwaitPrimary -> TypedTerm (Maybe Factor) -> TypedTerm Power
+ Hydra.Python.Dsl.Syntax: powerLhs :: TypedTerm Power -> TypedTerm AwaitPrimary
+ Hydra.Python.Dsl.Syntax: powerPower :: TypedName Power
+ Hydra.Python.Dsl.Syntax: powerRhs :: TypedTerm Power -> TypedTerm (Maybe Factor)
+ Hydra.Python.Dsl.Syntax: powerWithLhs :: TypedTerm Power -> TypedTerm AwaitPrimary -> TypedTerm Power
+ Hydra.Python.Dsl.Syntax: powerWithRhs :: TypedTerm Power -> TypedTerm (Maybe Factor) -> TypedTerm Power
+ Hydra.Python.Dsl.Syntax: primaryCompound :: TypedTerm PrimaryWithRhs -> TypedTerm Primary
+ Hydra.Python.Dsl.Syntax: primaryPrimary :: TypedName Primary
+ Hydra.Python.Dsl.Syntax: primaryRhsCall :: TypedTerm Args -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryRhsGenexp :: TypedTerm Genexp -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryRhsPrimaryRhs :: TypedName PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryRhsProject :: TypedTerm Name -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryRhsSlices :: TypedTerm Slices -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primarySimple :: TypedTerm Atom -> TypedTerm Primary
+ Hydra.Python.Dsl.Syntax: primaryWithRhs :: TypedTerm Primary -> TypedTerm PrimaryRhs -> TypedTerm PrimaryWithRhs
+ Hydra.Python.Dsl.Syntax: primaryWithRhsPrimary :: TypedTerm PrimaryWithRhs -> TypedTerm Primary
+ Hydra.Python.Dsl.Syntax: primaryWithRhsPrimaryWithRhs :: TypedName PrimaryWithRhs
+ Hydra.Python.Dsl.Syntax: primaryWithRhsRhs :: TypedTerm PrimaryWithRhs -> TypedTerm PrimaryRhs
+ Hydra.Python.Dsl.Syntax: primaryWithRhsWithPrimary :: TypedTerm PrimaryWithRhs -> TypedTerm Primary -> TypedTerm PrimaryWithRhs
+ Hydra.Python.Dsl.Syntax: primaryWithRhsWithRhs :: TypedTerm PrimaryWithRhs -> TypedTerm PrimaryRhs -> TypedTerm PrimaryWithRhs
+ Hydra.Python.Dsl.Syntax: quoteStyleDouble :: TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: quoteStyleQuoteStyle :: TypedName QuoteStyle
+ Hydra.Python.Dsl.Syntax: quoteStyleSingle :: TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: quoteStyleTripleDouble :: TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: quoteStyleTripleSingle :: TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: raiseExpression :: TypedTerm Expression -> TypedTerm (Maybe Expression) -> TypedTerm RaiseExpression
+ Hydra.Python.Dsl.Syntax: raiseExpressionExpression :: TypedTerm RaiseExpression -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: raiseExpressionFrom :: TypedTerm RaiseExpression -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: raiseExpressionRaiseExpression :: TypedName RaiseExpression
+ Hydra.Python.Dsl.Syntax: raiseExpressionWithExpression :: TypedTerm RaiseExpression -> TypedTerm Expression -> TypedTerm RaiseExpression
+ Hydra.Python.Dsl.Syntax: raiseExpressionWithFrom :: TypedTerm RaiseExpression -> TypedTerm (Maybe Expression) -> TypedTerm RaiseExpression
+ Hydra.Python.Dsl.Syntax: raiseStatement :: TypedTerm (Maybe RaiseExpression) -> TypedTerm RaiseStatement
+ Hydra.Python.Dsl.Syntax: raiseStatementRaiseStatement :: TypedName RaiseStatement
+ Hydra.Python.Dsl.Syntax: realNumberFloat :: TypedTerm Double -> TypedTerm RealNumber
+ Hydra.Python.Dsl.Syntax: realNumberInteger :: TypedTerm Integer -> TypedTerm RealNumber
+ Hydra.Python.Dsl.Syntax: realNumberRealNumber :: TypedName RealNumber
+ Hydra.Python.Dsl.Syntax: relativeImportPrefixDot :: TypedTerm RelativeImportPrefix
+ Hydra.Python.Dsl.Syntax: relativeImportPrefixEllipsis :: TypedTerm RelativeImportPrefix
+ Hydra.Python.Dsl.Syntax: relativeImportPrefixRelativeImportPrefix :: TypedName RelativeImportPrefix
+ Hydra.Python.Dsl.Syntax: returnStatement :: TypedTerm [StarExpression] -> TypedTerm ReturnStatement
+ Hydra.Python.Dsl.Syntax: returnStatementReturnStatement :: TypedName ReturnStatement
+ Hydra.Python.Dsl.Syntax: sequencePatternList :: TypedTerm (Maybe MaybeSequencePattern) -> TypedTerm SequencePattern
+ Hydra.Python.Dsl.Syntax: sequencePatternSequencePattern :: TypedName SequencePattern
+ Hydra.Python.Dsl.Syntax: sequencePatternTuple :: TypedTerm (Maybe OpenSequencePattern) -> TypedTerm SequencePattern
+ Hydra.Python.Dsl.Syntax: set :: TypedTerm [StarNamedExpression] -> TypedTerm Set
+ Hydra.Python.Dsl.Syntax: setSet :: TypedName Set
+ Hydra.Python.Dsl.Syntax: setcomp :: TypedTerm NamedExpression -> TypedTerm ForIfClauses -> TypedTerm Setcomp
+ Hydra.Python.Dsl.Syntax: setcompExpression :: TypedTerm Setcomp -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: setcompForIfClauses :: TypedTerm Setcomp -> TypedTerm ForIfClauses
+ Hydra.Python.Dsl.Syntax: setcompSetcomp :: TypedName Setcomp
+ Hydra.Python.Dsl.Syntax: setcompWithExpression :: TypedTerm Setcomp -> TypedTerm NamedExpression -> TypedTerm Setcomp
+ Hydra.Python.Dsl.Syntax: setcompWithForIfClauses :: TypedTerm Setcomp -> TypedTerm ForIfClauses -> TypedTerm Setcomp
+ Hydra.Python.Dsl.Syntax: shiftExpression :: TypedTerm (Maybe ShiftLhs) -> TypedTerm Sum -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftExpressionLhs :: TypedTerm ShiftExpression -> TypedTerm (Maybe ShiftLhs)
+ Hydra.Python.Dsl.Syntax: shiftExpressionRhs :: TypedTerm ShiftExpression -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: shiftExpressionShiftExpression :: TypedName ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftExpressionWithLhs :: TypedTerm ShiftExpression -> TypedTerm (Maybe ShiftLhs) -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftExpressionWithRhs :: TypedTerm ShiftExpression -> TypedTerm Sum -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftLhs :: TypedTerm ShiftExpression -> TypedTerm ShiftOp -> TypedTerm ShiftLhs
+ Hydra.Python.Dsl.Syntax: shiftLhsOperand :: TypedTerm ShiftLhs -> TypedTerm ShiftExpression
+ Hydra.Python.Dsl.Syntax: shiftLhsOperator :: TypedTerm ShiftLhs -> TypedTerm ShiftOp
+ Hydra.Python.Dsl.Syntax: shiftLhsShiftLhs :: TypedName ShiftLhs
+ Hydra.Python.Dsl.Syntax: shiftLhsWithOperand :: TypedTerm ShiftLhs -> TypedTerm ShiftExpression -> TypedTerm ShiftLhs
+ Hydra.Python.Dsl.Syntax: shiftLhsWithOperator :: TypedTerm ShiftLhs -> TypedTerm ShiftOp -> TypedTerm ShiftLhs
+ Hydra.Python.Dsl.Syntax: shiftOpLeft :: TypedTerm ShiftOp
+ Hydra.Python.Dsl.Syntax: shiftOpRight :: TypedTerm ShiftOp
+ Hydra.Python.Dsl.Syntax: shiftOpShiftOp :: TypedName ShiftOp
+ Hydra.Python.Dsl.Syntax: signedNumberNumber :: TypedTerm Number -> TypedTerm SignedNumber
+ Hydra.Python.Dsl.Syntax: signedNumberSign :: TypedTerm PlusOrMinus -> TypedTerm SignedNumber
+ Hydra.Python.Dsl.Syntax: signedNumberSignedNumber :: TypedName SignedNumber
+ Hydra.Python.Dsl.Syntax: signedRealNumberNumber :: TypedTerm RealNumber -> TypedTerm SignedRealNumber
+ Hydra.Python.Dsl.Syntax: signedRealNumberSign :: TypedTerm PlusOrMinus -> TypedTerm SignedRealNumber
+ Hydra.Python.Dsl.Syntax: signedRealNumberSignedRealNumber :: TypedName SignedRealNumber
+ Hydra.Python.Dsl.Syntax: simpleStatementAssert :: TypedTerm AssertStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementAssignment :: TypedTerm Assignment -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementBreak :: TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementContinue :: TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementDel :: TypedTerm DelStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementGlobal :: TypedTerm [Name] -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementImport :: TypedTerm ImportStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementNonlocal :: TypedTerm [Name] -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementPass :: TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementRaise :: TypedTerm RaiseStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementReturn :: TypedTerm ReturnStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementSimpleStatement :: TypedName SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementStarExpressions :: TypedTerm [StarExpression] -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementTypeAlias :: TypedTerm TypeAlias -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleStatementYield :: TypedTerm YieldStatement -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Syntax: simpleTypeParameter :: TypedTerm Name -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterBound :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterDefault :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterName :: TypedTerm SimpleTypeParameter -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterSimpleTypeParameter :: TypedName SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterWithBound :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterWithDefault :: TypedTerm SimpleTypeParameter -> TypedTerm (Maybe Expression) -> TypedTerm SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: simpleTypeParameterWithName :: TypedTerm SimpleTypeParameter -> TypedTerm Name -> TypedTerm SimpleTypeParameter
+ Hydra.Python.Dsl.Syntax: singleSubscriptAttributeTargetPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm SingleSubscriptAttributeTarget
+ Hydra.Python.Dsl.Syntax: singleSubscriptAttributeTargetPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm SingleSubscriptAttributeTarget
+ Hydra.Python.Dsl.Syntax: singleSubscriptAttributeTargetSingleSubscriptAttributeTarget :: TypedName SingleSubscriptAttributeTarget
+ Hydra.Python.Dsl.Syntax: singleTargetName :: TypedTerm Name -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: singleTargetParens :: TypedTerm SingleTarget -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: singleTargetSingleTarget :: TypedName SingleTarget
+ Hydra.Python.Dsl.Syntax: singleTargetSubscriptAttributeTarget :: TypedTerm SingleSubscriptAttributeTarget -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: slashNoDefault :: TypedTerm [ParamNoDefault] -> TypedTerm SlashNoDefault
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParameters :: TypedTerm SlashNoDefault -> TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersParamNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersParamWithDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersSlash :: TypedTerm SlashNoDefaultParameters -> TypedTerm SlashNoDefault
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersSlashNoDefaultParameters :: TypedName SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersStarEtc :: TypedTerm SlashNoDefaultParameters -> TypedTerm (Maybe StarEtc)
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersWithParamNoDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersWithParamWithDefault :: TypedTerm SlashNoDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersWithSlash :: TypedTerm SlashNoDefaultParameters -> TypedTerm SlashNoDefault -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultParametersWithStarEtc :: TypedTerm SlashNoDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashNoDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashNoDefaultSlashNoDefault :: TypedName SlashNoDefault
+ Hydra.Python.Dsl.Syntax: slashWithDefault :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefault
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParamNoDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParamWithDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParameters :: TypedTerm [ParamNoDefault] -> TypedTerm [ParamWithDefault] -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersParamNoDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersParamWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamWithDefault]
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersSlashWithDefaultParameters :: TypedName SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersStarEtc :: TypedTerm SlashWithDefaultParameters -> TypedTerm (Maybe StarEtc)
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersWithParamNoDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamNoDefault] -> TypedTerm SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersWithParamWithDefault :: TypedTerm SlashWithDefaultParameters -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultParametersWithStarEtc :: TypedTerm SlashWithDefaultParameters -> TypedTerm (Maybe StarEtc) -> TypedTerm SlashWithDefaultParameters
+ Hydra.Python.Dsl.Syntax: slashWithDefaultSlashWithDefault :: TypedName SlashWithDefault
+ Hydra.Python.Dsl.Syntax: slashWithDefaultWithParamNoDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamNoDefault] -> TypedTerm SlashWithDefault
+ Hydra.Python.Dsl.Syntax: slashWithDefaultWithParamWithDefault :: TypedTerm SlashWithDefault -> TypedTerm [ParamWithDefault] -> TypedTerm SlashWithDefault
+ Hydra.Python.Dsl.Syntax: sliceExpression :: TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceExpressionSliceExpression :: TypedName SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceExpressionStart :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: sliceExpressionStep :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: sliceExpressionStop :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression)
+ Hydra.Python.Dsl.Syntax: sliceExpressionWithStart :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceExpressionWithStep :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceExpressionWithStop :: TypedTerm SliceExpression -> TypedTerm (Maybe Expression) -> TypedTerm SliceExpression
+ Hydra.Python.Dsl.Syntax: sliceNamed :: TypedTerm NamedExpression -> TypedTerm Slice
+ Hydra.Python.Dsl.Syntax: sliceOrStarredExpressionSlice :: TypedTerm Slice -> TypedTerm SliceOrStarredExpression
+ Hydra.Python.Dsl.Syntax: sliceOrStarredExpressionSliceOrStarredExpression :: TypedName SliceOrStarredExpression
+ Hydra.Python.Dsl.Syntax: sliceOrStarredExpressionStarred :: TypedTerm StarredExpression -> TypedTerm SliceOrStarredExpression
+ Hydra.Python.Dsl.Syntax: sliceSlice :: TypedName Slice
+ Hydra.Python.Dsl.Syntax: sliceSlice_ :: TypedTerm SliceExpression -> TypedTerm Slice
+ Hydra.Python.Dsl.Syntax: slices :: TypedTerm Slice -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Slices
+ Hydra.Python.Dsl.Syntax: slicesHead :: TypedTerm Slices -> TypedTerm Slice
+ Hydra.Python.Dsl.Syntax: slicesSlices :: TypedName Slices
+ Hydra.Python.Dsl.Syntax: slicesTail :: TypedTerm Slices -> TypedTerm [SliceOrStarredExpression]
+ Hydra.Python.Dsl.Syntax: slicesWithHead :: TypedTerm Slices -> TypedTerm Slice -> TypedTerm Slices
+ Hydra.Python.Dsl.Syntax: slicesWithTail :: TypedTerm Slices -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Slices
+ Hydra.Python.Dsl.Syntax: starAnnotation :: TypedTerm StarExpression -> TypedTerm StarAnnotation
+ Hydra.Python.Dsl.Syntax: starAnnotationStarAnnotation :: TypedName StarAnnotation
+ Hydra.Python.Dsl.Syntax: starAtomName :: TypedTerm Name -> TypedTerm StarAtom
+ Hydra.Python.Dsl.Syntax: starAtomStarAtom :: TypedName StarAtom
+ Hydra.Python.Dsl.Syntax: starAtomStarTargetsListSeq :: TypedTerm (Maybe StarTargetsListSeq) -> TypedTerm StarAtom
+ Hydra.Python.Dsl.Syntax: starAtomStarTargetsTupleSeq :: TypedTerm (Maybe StarTargetsTupleSeq) -> TypedTerm StarAtom
+ Hydra.Python.Dsl.Syntax: starAtomTargetWithStarAtom :: TypedTerm TargetWithStarAtom -> TypedTerm StarAtom
+ Hydra.Python.Dsl.Syntax: starEtcKeywords :: TypedTerm Keywords -> TypedTerm StarEtc
+ Hydra.Python.Dsl.Syntax: starEtcStarComma :: TypedTerm CommaStarEtc -> TypedTerm StarEtc
+ Hydra.Python.Dsl.Syntax: starEtcStarEtc :: TypedName StarEtc
+ Hydra.Python.Dsl.Syntax: starEtcStarNoDefault :: TypedTerm NoDefaultStarEtc -> TypedTerm StarEtc
+ Hydra.Python.Dsl.Syntax: starEtcStarNoDefaultStarAnnotation :: TypedTerm NoDefaultStarAnnotationStarEtc -> TypedTerm StarEtc
+ Hydra.Python.Dsl.Syntax: starExpressionSimple :: TypedTerm Expression -> TypedTerm StarExpression
+ Hydra.Python.Dsl.Syntax: starExpressionStar :: TypedTerm BitwiseOr -> TypedTerm StarExpression
+ Hydra.Python.Dsl.Syntax: starExpressionStarExpression :: TypedName StarExpression
+ Hydra.Python.Dsl.Syntax: starNamedExpressionSimple :: TypedTerm NamedExpression -> TypedTerm StarNamedExpression
+ Hydra.Python.Dsl.Syntax: starNamedExpressionStar :: TypedTerm BitwiseOr -> TypedTerm StarNamedExpression
+ Hydra.Python.Dsl.Syntax: starNamedExpressionStarNamedExpression :: TypedName StarNamedExpression
+ Hydra.Python.Dsl.Syntax: starNamedExpressions :: TypedTerm [StarNamedExpression] -> TypedTerm StarNamedExpressions
+ Hydra.Python.Dsl.Syntax: starNamedExpressionsStarNamedExpressions :: TypedName StarNamedExpressions
+ Hydra.Python.Dsl.Syntax: starPatternCapture :: TypedTerm PatternCaptureTarget -> TypedTerm StarPattern
+ Hydra.Python.Dsl.Syntax: starPatternStarPattern :: TypedName StarPattern
+ Hydra.Python.Dsl.Syntax: starPatternWildcard :: TypedTerm StarPattern
+ Hydra.Python.Dsl.Syntax: starTargetStarTarget :: TypedName StarTarget
+ Hydra.Python.Dsl.Syntax: starTargetStarred :: TypedTerm StarTarget -> TypedTerm StarTarget
+ Hydra.Python.Dsl.Syntax: starTargetUnstarred :: TypedTerm TargetWithStarAtom -> TypedTerm StarTarget
+ Hydra.Python.Dsl.Syntax: starTargetsListSeq :: TypedTerm [StarTarget] -> TypedTerm StarTargetsListSeq
+ Hydra.Python.Dsl.Syntax: starTargetsListSeqStarTargetsListSeq :: TypedName StarTargetsListSeq
+ Hydra.Python.Dsl.Syntax: starTargetsTupleSeq :: TypedTerm [StarTarget] -> TypedTerm StarTargetsTupleSeq
+ Hydra.Python.Dsl.Syntax: starTargetsTupleSeqStarTargetsTupleSeq :: TypedName StarTargetsTupleSeq
+ Hydra.Python.Dsl.Syntax: starTypeParameter :: TypedTerm Name -> TypedTerm (Maybe StarExpression) -> TypedTerm StarTypeParameter
+ Hydra.Python.Dsl.Syntax: starTypeParameterDefault :: TypedTerm StarTypeParameter -> TypedTerm (Maybe StarExpression)
+ Hydra.Python.Dsl.Syntax: starTypeParameterName :: TypedTerm StarTypeParameter -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: starTypeParameterStarTypeParameter :: TypedName StarTypeParameter
+ Hydra.Python.Dsl.Syntax: starTypeParameterWithDefault :: TypedTerm StarTypeParameter -> TypedTerm (Maybe StarExpression) -> TypedTerm StarTypeParameter
+ Hydra.Python.Dsl.Syntax: starTypeParameterWithName :: TypedTerm StarTypeParameter -> TypedTerm Name -> TypedTerm StarTypeParameter
+ Hydra.Python.Dsl.Syntax: starredExpression :: TypedTerm Expression -> TypedTerm StarredExpression
+ Hydra.Python.Dsl.Syntax: starredExpressionStarredExpression :: TypedName StarredExpression
+ Hydra.Python.Dsl.Syntax: statementAnnotated :: TypedTerm AnnotatedStatement -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: statementCompound :: TypedTerm CompoundStatement -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: statementSimple :: TypedTerm [SimpleStatement] -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: statementStatement :: TypedName Statement
+ Hydra.Python.Dsl.Syntax: string :: TypedTerm String -> TypedTerm (Maybe StringPrefix) -> TypedTerm QuoteStyle -> TypedTerm String_
+ Hydra.Python.Dsl.Syntax: stringPrefix :: TypedTerm String_ -> TypedTerm (Maybe StringPrefix)
+ Hydra.Python.Dsl.Syntax: stringPrefixBytes :: TypedTerm StringPrefix
+ Hydra.Python.Dsl.Syntax: stringPrefixRaw :: TypedTerm StringPrefix
+ Hydra.Python.Dsl.Syntax: stringPrefixRawBytes :: TypedTerm StringPrefix
+ Hydra.Python.Dsl.Syntax: stringPrefixStringPrefix :: TypedName StringPrefix
+ Hydra.Python.Dsl.Syntax: stringPrefixUnicode :: TypedTerm StringPrefix
+ Hydra.Python.Dsl.Syntax: stringQuoteStyle :: TypedTerm String_ -> TypedTerm QuoteStyle
+ Hydra.Python.Dsl.Syntax: stringString :: TypedName String_
+ Hydra.Python.Dsl.Syntax: stringValue :: TypedTerm String_ -> TypedTerm String
+ Hydra.Python.Dsl.Syntax: stringWithPrefix :: TypedTerm String_ -> TypedTerm (Maybe StringPrefix) -> TypedTerm String_
+ Hydra.Python.Dsl.Syntax: stringWithQuoteStyle :: TypedTerm String_ -> TypedTerm QuoteStyle -> TypedTerm String_
+ Hydra.Python.Dsl.Syntax: stringWithValue :: TypedTerm String_ -> TypedTerm String -> TypedTerm String_
+ Hydra.Python.Dsl.Syntax: subjectExpressionSimple :: TypedTerm NamedExpression -> TypedTerm SubjectExpression
+ Hydra.Python.Dsl.Syntax: subjectExpressionSubjectExpression :: TypedName SubjectExpression
+ Hydra.Python.Dsl.Syntax: subjectExpressionTuple :: TypedTerm [StarNamedExpression] -> TypedTerm SubjectExpression
+ Hydra.Python.Dsl.Syntax: sum :: TypedTerm (Maybe SumLhs) -> TypedTerm Term -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: sumLhs :: TypedTerm Sum -> TypedTerm (Maybe SumLhs)
+ Hydra.Python.Dsl.Syntax: sumLhs2 :: TypedTerm Sum -> TypedTerm SumOp -> TypedTerm SumLhs
+ Hydra.Python.Dsl.Syntax: sumLhsOperand :: TypedTerm SumLhs -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: sumLhsOperator :: TypedTerm SumLhs -> TypedTerm SumOp
+ Hydra.Python.Dsl.Syntax: sumLhsSumLhs :: TypedName SumLhs
+ Hydra.Python.Dsl.Syntax: sumLhsWithOperand :: TypedTerm SumLhs -> TypedTerm Sum -> TypedTerm SumLhs
+ Hydra.Python.Dsl.Syntax: sumLhsWithOperator :: TypedTerm SumLhs -> TypedTerm SumOp -> TypedTerm SumLhs
+ Hydra.Python.Dsl.Syntax: sumOpAdd :: TypedTerm SumOp
+ Hydra.Python.Dsl.Syntax: sumOpSub :: TypedTerm SumOp
+ Hydra.Python.Dsl.Syntax: sumOpSumOp :: TypedName SumOp
+ Hydra.Python.Dsl.Syntax: sumRhs :: TypedTerm Sum -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: sumSum :: TypedName Sum
+ Hydra.Python.Dsl.Syntax: sumWithLhs :: TypedTerm Sum -> TypedTerm (Maybe SumLhs) -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: sumWithRhs :: TypedTerm Sum -> TypedTerm Term -> TypedTerm Sum
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArguments :: TypedTerm TPrimary -> TypedTerm (Maybe Args) -> TypedTerm TPrimaryAndArguments
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm (Maybe Args)
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsPrimary :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsTPrimaryAndArguments :: TypedName TPrimaryAndArguments
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsWithArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm (Maybe Args) -> TypedTerm TPrimaryAndArguments
+ Hydra.Python.Dsl.Syntax: tPrimaryAndArgumentsWithPrimary :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary -> TypedTerm TPrimaryAndArguments
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexp :: TypedTerm TPrimary -> TypedTerm Genexp -> TypedTerm TPrimaryAndGenexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm Genexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpPrimary :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpTPrimaryAndGenexp :: TypedName TPrimaryAndGenexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpWithGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm Genexp -> TypedTerm TPrimaryAndGenexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndGenexpWithPrimary :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary -> TypedTerm TPrimaryAndGenexp
+ Hydra.Python.Dsl.Syntax: tPrimaryAndName :: TypedTerm TPrimary -> TypedTerm Name -> TypedTerm TPrimaryAndName
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNameName :: TypedTerm TPrimaryAndName -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNamePrimary :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNameTPrimaryAndName :: TypedName TPrimaryAndName
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNameWithName :: TypedTerm TPrimaryAndName -> TypedTerm Name -> TypedTerm TPrimaryAndName
+ Hydra.Python.Dsl.Syntax: tPrimaryAndNameWithPrimary :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary -> TypedTerm TPrimaryAndName
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlices :: TypedTerm TPrimary -> TypedTerm Slices -> TypedTerm TPrimaryAndSlices
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesPrimary :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm Slices
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesTPrimaryAndSlices :: TypedName TPrimaryAndSlices
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesWithPrimary :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary -> TypedTerm TPrimaryAndSlices
+ Hydra.Python.Dsl.Syntax: tPrimaryAndSlicesWithSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm Slices -> TypedTerm TPrimaryAndSlices
+ Hydra.Python.Dsl.Syntax: tPrimaryAtom :: TypedTerm Atom -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryPrimaryAndArguments :: TypedTerm TPrimaryAndArguments -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryPrimaryAndGenexp :: TypedTerm TPrimaryAndGenexp -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryPrimaryAndName :: TypedTerm TPrimaryAndName -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryPrimaryAndSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm TPrimary
+ Hydra.Python.Dsl.Syntax: tPrimaryTPrimary :: TypedName TPrimary
+ Hydra.Python.Dsl.Syntax: targetWithStarAtomAtom :: TypedTerm StarAtom -> TypedTerm TargetWithStarAtom
+ Hydra.Python.Dsl.Syntax: targetWithStarAtomProject :: TypedTerm TPrimaryAndName -> TypedTerm TargetWithStarAtom
+ Hydra.Python.Dsl.Syntax: targetWithStarAtomSlices :: TypedTerm TPrimaryAndSlices -> TypedTerm TargetWithStarAtom
+ Hydra.Python.Dsl.Syntax: targetWithStarAtomTargetWithStarAtom :: TypedName TargetWithStarAtom
+ Hydra.Python.Dsl.Syntax: term :: TypedTerm (Maybe TermLhs) -> TypedTerm Factor -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: termLhs :: TypedTerm Term -> TypedTerm (Maybe TermLhs)
+ Hydra.Python.Dsl.Syntax: termLhs2 :: TypedTerm Term -> TypedTerm TermOp -> TypedTerm TermLhs
+ Hydra.Python.Dsl.Syntax: termLhsOperand :: TypedTerm TermLhs -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: termLhsOperator :: TypedTerm TermLhs -> TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termLhsTermLhs :: TypedName TermLhs
+ Hydra.Python.Dsl.Syntax: termLhsWithOperand :: TypedTerm TermLhs -> TypedTerm Term -> TypedTerm TermLhs
+ Hydra.Python.Dsl.Syntax: termLhsWithOperator :: TypedTerm TermLhs -> TypedTerm TermOp -> TypedTerm TermLhs
+ Hydra.Python.Dsl.Syntax: termOpDiv :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpFloordiv :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpMatmul :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpMod :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpMul :: TypedTerm TermOp
+ Hydra.Python.Dsl.Syntax: termOpTermOp :: TypedName TermOp
+ Hydra.Python.Dsl.Syntax: termRhs :: TypedTerm Term -> TypedTerm Factor
+ Hydra.Python.Dsl.Syntax: termTerm :: TypedName Term
+ Hydra.Python.Dsl.Syntax: termWithLhs :: TypedTerm Term -> TypedTerm (Maybe TermLhs) -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: termWithRhs :: TypedTerm Term -> TypedTerm Factor -> TypedTerm Term
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatement :: TypedTerm Block -> TypedTerm [ExceptStarBlock] -> TypedTerm (Maybe Block) -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementBody :: TypedTerm TryExceptStarStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementElse :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementExcepts :: TypedTerm TryExceptStarStatement -> TypedTerm [ExceptStarBlock]
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementFinally :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementTryExceptStarStatement :: TypedName TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementWithBody :: TypedTerm TryExceptStarStatement -> TypedTerm Block -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementWithElse :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementWithExcepts :: TypedTerm TryExceptStarStatement -> TypedTerm [ExceptStarBlock] -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStarStatementWithFinally :: TypedTerm TryExceptStarStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStarStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatement :: TypedTerm Block -> TypedTerm [ExceptBlock] -> TypedTerm (Maybe Block) -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementBody :: TypedTerm TryExceptStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: tryExceptStatementElse :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: tryExceptStatementExcepts :: TypedTerm TryExceptStatement -> TypedTerm [ExceptBlock]
+ Hydra.Python.Dsl.Syntax: tryExceptStatementFinally :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: tryExceptStatementTryExceptStatement :: TypedName TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementWithBody :: TypedTerm TryExceptStatement -> TypedTerm Block -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementWithElse :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementWithExcepts :: TypedTerm TryExceptStatement -> TypedTerm [ExceptBlock] -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryExceptStatementWithFinally :: TypedTerm TryExceptStatement -> TypedTerm (Maybe Block) -> TypedTerm TryExceptStatement
+ Hydra.Python.Dsl.Syntax: tryFinallyStatement :: TypedTerm Block -> TypedTerm Block -> TypedTerm TryFinallyStatement
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementBody :: TypedTerm TryFinallyStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementFinally :: TypedTerm TryFinallyStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementTryFinallyStatement :: TypedName TryFinallyStatement
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementWithBody :: TypedTerm TryFinallyStatement -> TypedTerm Block -> TypedTerm TryFinallyStatement
+ Hydra.Python.Dsl.Syntax: tryFinallyStatementWithFinally :: TypedTerm TryFinallyStatement -> TypedTerm Block -> TypedTerm TryFinallyStatement
+ Hydra.Python.Dsl.Syntax: tryStatementExcept :: TypedTerm TryExceptStatement -> TypedTerm TryStatement
+ Hydra.Python.Dsl.Syntax: tryStatementExceptStar :: TypedTerm TryExceptStarStatement -> TypedTerm TryStatement
+ Hydra.Python.Dsl.Syntax: tryStatementFinally :: TypedTerm TryFinallyStatement -> TypedTerm TryStatement
+ Hydra.Python.Dsl.Syntax: tryStatementTryStatement :: TypedName TryStatement
+ Hydra.Python.Dsl.Syntax: tuple :: TypedTerm [StarNamedExpression] -> TypedTerm Tuple
+ Hydra.Python.Dsl.Syntax: tupleTuple :: TypedName Tuple
+ Hydra.Python.Dsl.Syntax: typeAlias :: TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm Expression -> TypedTerm TypeAlias
+ Hydra.Python.Dsl.Syntax: typeAliasExpression :: TypedTerm TypeAlias -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: typeAliasName :: TypedTerm TypeAlias -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: typeAliasTypeAlias :: TypedName TypeAlias
+ Hydra.Python.Dsl.Syntax: typeAliasTypeParams :: TypedTerm TypeAlias -> TypedTerm [TypeParameter]
+ Hydra.Python.Dsl.Syntax: typeAliasWithExpression :: TypedTerm TypeAlias -> TypedTerm Expression -> TypedTerm TypeAlias
+ Hydra.Python.Dsl.Syntax: typeAliasWithName :: TypedTerm TypeAlias -> TypedTerm Name -> TypedTerm TypeAlias
+ Hydra.Python.Dsl.Syntax: typeAliasWithTypeParams :: TypedTerm TypeAlias -> TypedTerm [TypeParameter] -> TypedTerm TypeAlias
+ Hydra.Python.Dsl.Syntax: typeComment :: TypedTerm String -> TypedTerm TypeComment
+ Hydra.Python.Dsl.Syntax: typeCommentTypeComment :: TypedName TypeComment
+ Hydra.Python.Dsl.Syntax: typeExpressionDoubleStarredExpression :: TypedTerm Expression -> TypedTerm TypeExpression
+ Hydra.Python.Dsl.Syntax: typeExpressionExpression :: TypedTerm Expression -> TypedTerm TypeExpression
+ Hydra.Python.Dsl.Syntax: typeExpressionStarredExpression :: TypedTerm Expression -> TypedTerm TypeExpression
+ Hydra.Python.Dsl.Syntax: typeExpressionTypeExpression :: TypedName TypeExpression
+ Hydra.Python.Dsl.Syntax: typeParameterDoubleStar :: TypedTerm DoubleStarTypeParameter -> TypedTerm TypeParameter
+ Hydra.Python.Dsl.Syntax: typeParameterSimple :: TypedTerm SimpleTypeParameter -> TypedTerm TypeParameter
+ Hydra.Python.Dsl.Syntax: typeParameterStar :: TypedTerm StarTypeParameter -> TypedTerm TypeParameter
+ Hydra.Python.Dsl.Syntax: typeParameterTypeParameter :: TypedName TypeParameter
+ Hydra.Python.Dsl.Syntax: typedAssignment :: TypedTerm SingleTarget -> TypedTerm Expression -> TypedTerm (Maybe AnnotatedRhs) -> TypedTerm TypedAssignment
+ Hydra.Python.Dsl.Syntax: typedAssignmentLhs :: TypedTerm TypedAssignment -> TypedTerm SingleTarget
+ Hydra.Python.Dsl.Syntax: typedAssignmentRhs :: TypedTerm TypedAssignment -> TypedTerm (Maybe AnnotatedRhs)
+ Hydra.Python.Dsl.Syntax: typedAssignmentType :: TypedTerm TypedAssignment -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: typedAssignmentTypedAssignment :: TypedName TypedAssignment
+ Hydra.Python.Dsl.Syntax: typedAssignmentWithLhs :: TypedTerm TypedAssignment -> TypedTerm SingleTarget -> TypedTerm TypedAssignment
+ Hydra.Python.Dsl.Syntax: typedAssignmentWithRhs :: TypedTerm TypedAssignment -> TypedTerm (Maybe AnnotatedRhs) -> TypedTerm TypedAssignment
+ Hydra.Python.Dsl.Syntax: typedAssignmentWithType :: TypedTerm TypedAssignment -> TypedTerm Expression -> TypedTerm TypedAssignment
+ Hydra.Python.Dsl.Syntax: unAnnotation :: TypedTerm Annotation -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: unAttribute :: TypedTerm Attribute -> TypedTerm [Name]
+ Hydra.Python.Dsl.Syntax: unCapturePattern :: TypedTerm CapturePattern -> TypedTerm PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: unConjunction :: TypedTerm Conjunction -> TypedTerm [Inversion]
+ Hydra.Python.Dsl.Syntax: unDecorators :: TypedTerm Decorators -> TypedTerm [NamedExpression]
+ Hydra.Python.Dsl.Syntax: unDefault :: TypedTerm Default -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: unDelStatement :: TypedTerm DelStatement -> TypedTerm DelTargets
+ Hydra.Python.Dsl.Syntax: unDelTargets :: TypedTerm DelTargets -> TypedTerm [DelTarget]
+ Hydra.Python.Dsl.Syntax: unDict :: TypedTerm Dict -> TypedTerm [DoubleStarredKvpair]
+ Hydra.Python.Dsl.Syntax: unDisjunction :: TypedTerm Disjunction -> TypedTerm [Conjunction]
+ Hydra.Python.Dsl.Syntax: unDottedName :: TypedTerm DottedName -> TypedTerm [Name]
+ Hydra.Python.Dsl.Syntax: unDoubleStarPattern :: TypedTerm DoubleStarPattern -> TypedTerm PatternCaptureTarget
+ Hydra.Python.Dsl.Syntax: unEval :: TypedTerm Eval -> TypedTerm [Expression]
+ Hydra.Python.Dsl.Syntax: unFile :: TypedTerm File -> TypedTerm [Statement]
+ Hydra.Python.Dsl.Syntax: unForIfClauses :: TypedTerm ForIfClauses -> TypedTerm [ForIfClause]
+ Hydra.Python.Dsl.Syntax: unFuncTypeComment :: TypedTerm FuncTypeComment -> TypedTerm TypeComment
+ Hydra.Python.Dsl.Syntax: unGroupPattern :: TypedTerm GroupPattern -> TypedTerm Pattern
+ Hydra.Python.Dsl.Syntax: unGuard :: TypedTerm Guard -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: unImaginaryNumber :: TypedTerm ImaginaryNumber -> TypedTerm Double
+ Hydra.Python.Dsl.Syntax: unImportName :: TypedTerm ImportName -> TypedTerm [DottedAsName]
+ Hydra.Python.Dsl.Syntax: unInteractive :: TypedTerm Interactive -> TypedTerm Statement
+ Hydra.Python.Dsl.Syntax: unItemsPattern :: TypedTerm ItemsPattern -> TypedTerm [KeyValuePattern]
+ Hydra.Python.Dsl.Syntax: unKeywordPatterns :: TypedTerm KeywordPatterns -> TypedTerm [KeywordPattern]
+ Hydra.Python.Dsl.Syntax: unKeywords :: TypedTerm Keywords -> TypedTerm ParamNoDefault
+ Hydra.Python.Dsl.Syntax: unLambdaKwds :: TypedTerm LambdaKwds -> TypedTerm LambdaParamNoDefault
+ Hydra.Python.Dsl.Syntax: unLambdaParamNoDefault :: TypedTerm LambdaParamNoDefault -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: unList :: TypedTerm List -> TypedTerm [StarNamedExpression]
+ Hydra.Python.Dsl.Syntax: unMaybeSequencePattern :: TypedTerm MaybeSequencePattern -> TypedTerm [MaybeStarPattern]
+ Hydra.Python.Dsl.Syntax: unModule :: TypedTerm Module -> TypedTerm [[Statement]]
+ Hydra.Python.Dsl.Syntax: unName :: TypedTerm Name -> TypedTerm String
+ Hydra.Python.Dsl.Syntax: unNameOrAttribute :: TypedTerm NameOrAttribute -> TypedTerm [Name]
+ Hydra.Python.Dsl.Syntax: unOrPattern :: TypedTerm OrPattern -> TypedTerm [ClosedPattern]
+ Hydra.Python.Dsl.Syntax: unPatternCaptureTarget :: TypedTerm PatternCaptureTarget -> TypedTerm Name
+ Hydra.Python.Dsl.Syntax: unPositionalPatterns :: TypedTerm PositionalPatterns -> TypedTerm [Pattern]
+ Hydra.Python.Dsl.Syntax: unRaiseStatement :: TypedTerm RaiseStatement -> TypedTerm (Maybe RaiseExpression)
+ Hydra.Python.Dsl.Syntax: unReturnStatement :: TypedTerm ReturnStatement -> TypedTerm [StarExpression]
+ Hydra.Python.Dsl.Syntax: unSet :: TypedTerm Set -> TypedTerm [StarNamedExpression]
+ Hydra.Python.Dsl.Syntax: unSlashNoDefault :: TypedTerm SlashNoDefault -> TypedTerm [ParamNoDefault]
+ Hydra.Python.Dsl.Syntax: unStarAnnotation :: TypedTerm StarAnnotation -> TypedTerm StarExpression
+ Hydra.Python.Dsl.Syntax: unStarNamedExpressions :: TypedTerm StarNamedExpressions -> TypedTerm [StarNamedExpression]
+ Hydra.Python.Dsl.Syntax: unStarTargetsListSeq :: TypedTerm StarTargetsListSeq -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: unStarTargetsTupleSeq :: TypedTerm StarTargetsTupleSeq -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: unStarredExpression :: TypedTerm StarredExpression -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: unTuple :: TypedTerm Tuple -> TypedTerm [StarNamedExpression]
+ Hydra.Python.Dsl.Syntax: unTypeComment :: TypedTerm TypeComment -> TypedTerm String
+ Hydra.Python.Dsl.Syntax: unValuePattern :: TypedTerm ValuePattern -> TypedTerm Attribute
+ Hydra.Python.Dsl.Syntax: unYieldStatement :: TypedTerm YieldStatement -> TypedTerm YieldExpression
+ Hydra.Python.Dsl.Syntax: untypedAssignment :: TypedTerm [StarTarget] -> TypedTerm AnnotatedRhs -> TypedTerm (Maybe TypeComment) -> TypedTerm UntypedAssignment
+ Hydra.Python.Dsl.Syntax: untypedAssignmentRhs :: TypedTerm UntypedAssignment -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Syntax: untypedAssignmentTargets :: TypedTerm UntypedAssignment -> TypedTerm [StarTarget]
+ Hydra.Python.Dsl.Syntax: untypedAssignmentTypeComment :: TypedTerm UntypedAssignment -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: untypedAssignmentUntypedAssignment :: TypedName UntypedAssignment
+ Hydra.Python.Dsl.Syntax: untypedAssignmentWithRhs :: TypedTerm UntypedAssignment -> TypedTerm AnnotatedRhs -> TypedTerm UntypedAssignment
+ Hydra.Python.Dsl.Syntax: untypedAssignmentWithTargets :: TypedTerm UntypedAssignment -> TypedTerm [StarTarget] -> TypedTerm UntypedAssignment
+ Hydra.Python.Dsl.Syntax: untypedAssignmentWithTypeComment :: TypedTerm UntypedAssignment -> TypedTerm (Maybe TypeComment) -> TypedTerm UntypedAssignment
+ Hydra.Python.Dsl.Syntax: valuePattern :: TypedTerm Attribute -> TypedTerm ValuePattern
+ Hydra.Python.Dsl.Syntax: valuePatternValuePattern :: TypedName ValuePattern
+ Hydra.Python.Dsl.Syntax: whileStatement :: TypedTerm NamedExpression -> TypedTerm Block -> TypedTerm (Maybe Block) -> TypedTerm WhileStatement
+ Hydra.Python.Dsl.Syntax: whileStatementBody :: TypedTerm WhileStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: whileStatementCondition :: TypedTerm WhileStatement -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Syntax: whileStatementElse :: TypedTerm WhileStatement -> TypedTerm (Maybe Block)
+ Hydra.Python.Dsl.Syntax: whileStatementWhileStatement :: TypedName WhileStatement
+ Hydra.Python.Dsl.Syntax: whileStatementWithBody :: TypedTerm WhileStatement -> TypedTerm Block -> TypedTerm WhileStatement
+ Hydra.Python.Dsl.Syntax: whileStatementWithCondition :: TypedTerm WhileStatement -> TypedTerm NamedExpression -> TypedTerm WhileStatement
+ Hydra.Python.Dsl.Syntax: whileStatementWithElse :: TypedTerm WhileStatement -> TypedTerm (Maybe Block) -> TypedTerm WhileStatement
+ Hydra.Python.Dsl.Syntax: withItem :: TypedTerm Expression -> TypedTerm (Maybe StarTarget) -> TypedTerm WithItem
+ Hydra.Python.Dsl.Syntax: withItemAs :: TypedTerm WithItem -> TypedTerm (Maybe StarTarget)
+ Hydra.Python.Dsl.Syntax: withItemExpression :: TypedTerm WithItem -> TypedTerm Expression
+ Hydra.Python.Dsl.Syntax: withItemWithAs :: TypedTerm WithItem -> TypedTerm (Maybe StarTarget) -> TypedTerm WithItem
+ Hydra.Python.Dsl.Syntax: withItemWithExpression :: TypedTerm WithItem -> TypedTerm Expression -> TypedTerm WithItem
+ Hydra.Python.Dsl.Syntax: withItemWithItem :: TypedName WithItem
+ Hydra.Python.Dsl.Syntax: withStatement :: TypedTerm Bool -> TypedTerm [WithItem] -> TypedTerm (Maybe TypeComment) -> TypedTerm Block -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementAsync :: TypedTerm WithStatement -> TypedTerm Bool
+ Hydra.Python.Dsl.Syntax: withStatementBody :: TypedTerm WithStatement -> TypedTerm Block
+ Hydra.Python.Dsl.Syntax: withStatementItems :: TypedTerm WithStatement -> TypedTerm [WithItem]
+ Hydra.Python.Dsl.Syntax: withStatementTypeComment :: TypedTerm WithStatement -> TypedTerm (Maybe TypeComment)
+ Hydra.Python.Dsl.Syntax: withStatementWithAsync :: TypedTerm WithStatement -> TypedTerm Bool -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementWithBody :: TypedTerm WithStatement -> TypedTerm Block -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementWithItems :: TypedTerm WithStatement -> TypedTerm [WithItem] -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementWithStatement :: TypedName WithStatement
+ Hydra.Python.Dsl.Syntax: withStatementWithTypeComment :: TypedTerm WithStatement -> TypedTerm (Maybe TypeComment) -> TypedTerm WithStatement
+ Hydra.Python.Dsl.Syntax: yieldExpressionFrom :: TypedTerm Expression -> TypedTerm YieldExpression
+ Hydra.Python.Dsl.Syntax: yieldExpressionSimple :: TypedTerm [StarExpression] -> TypedTerm YieldExpression
+ Hydra.Python.Dsl.Syntax: yieldExpressionYieldExpression :: TypedName YieldExpression
+ Hydra.Python.Dsl.Syntax: yieldStatement :: TypedTerm YieldExpression -> TypedTerm YieldStatement
+ Hydra.Python.Dsl.Syntax: yieldStatementYieldStatement :: TypedName YieldStatement
+ Hydra.Python.Dsl.Utils: annotatedExpression :: TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: annotatedStatement :: TypedTerm (Maybe String) -> TypedTerm Statement -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: assignment :: TypedTerm Name -> TypedTerm AnnotatedRhs -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: assignmentStatement :: TypedTerm Name -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: castTo :: TypedTerm Expression -> TypedTerm Expression -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: commentStatement :: TypedTerm String -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: decimalVariantMethods :: TypedTerm [Statement]
+ Hydra.Python.Dsl.Utils: decodePyComparisonToPyAwaitPrimary :: TypedTerm Comparison -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: decodePyConjunctionToPyPrimary :: TypedTerm Conjunction -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: decodePyExpressionToPyPrimary :: TypedTerm Expression -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: decodePyInversionToPyPrimary :: TypedTerm Inversion -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: decodePyPowerToPyPrimary :: TypedTerm Power -> TypedTerm (Maybe Primary)
+ Hydra.Python.Dsl.Utils: dottedAssignmentStatement :: TypedTerm Name -> TypedTerm Name -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: doubleQuotedString :: TypedTerm String -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: findNamespaces :: TypedTerm (Set String) -> TypedTerm ModuleName -> TypedTerm [Definition] -> TypedTerm (ModuleNames DottedName)
+ Hydra.Python.Dsl.Utils: functionCall :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: getItemParams :: TypedTerm Parameters
+ Hydra.Python.Dsl.Utils: indentedBlock :: TypedTerm (Maybe String) -> TypedTerm [[Statement]] -> TypedTerm Block
+ Hydra.Python.Dsl.Utils: nameAndParams :: TypedTerm Name -> TypedTerm [Expression] -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: newtypeStatement :: TypedTerm Name -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: orExpression :: TypedTerm [Primary] -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: primaryAndParams :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: primaryWithExpressionSlices :: TypedTerm Primary -> TypedTerm [Expression] -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: primaryWithRhs :: TypedTerm Primary -> TypedTerm PrimaryRhs -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: primaryWithSlices :: TypedTerm Primary -> TypedTerm Slice -> TypedTerm [SliceOrStarredExpression] -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: projectFromExpression :: TypedTerm Expression -> TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyAssignmentToPyStatement :: TypedTerm Assignment -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: pyAtomToPyExpression :: TypedTerm Atom -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyBitwiseOrToPyConjunction :: TypedTerm BitwiseOr -> TypedTerm Conjunction
+ Hydra.Python.Dsl.Utils: pyBitwiseOrToPyExpression :: TypedTerm BitwiseOr -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyClassDefinitionToPyStatement :: TypedTerm ClassDefinition -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: pyClosedPatternToPyPatterns :: TypedTerm ClosedPattern -> TypedTerm Patterns
+ Hydra.Python.Dsl.Utils: pyConjunctionToPyExpression :: TypedTerm Conjunction -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyExpressionToBitwiseOr :: TypedTerm Expression -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Utils: pyExpressionToDisjunction :: TypedTerm Expression -> TypedTerm Disjunction
+ Hydra.Python.Dsl.Utils: pyExpressionToPyAnnotatedRhs :: TypedTerm Expression -> TypedTerm AnnotatedRhs
+ Hydra.Python.Dsl.Utils: pyExpressionToPyPrimary :: TypedTerm Expression -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: pyExpressionToPySimpleStatement :: TypedTerm Expression -> TypedTerm SimpleStatement
+ Hydra.Python.Dsl.Utils: pyExpressionToPySlice :: TypedTerm Expression -> TypedTerm Slice
+ Hydra.Python.Dsl.Utils: pyExpressionToPyStarNamedExpression :: TypedTerm Expression -> TypedTerm StarNamedExpression
+ Hydra.Python.Dsl.Utils: pyExpressionToPyStatement :: TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: pyExpressionsToPyArgs :: TypedTerm [Expression] -> TypedTerm Args
+ Hydra.Python.Dsl.Utils: pyList :: TypedTerm [Expression] -> TypedTerm List
+ Hydra.Python.Dsl.Utils: pyNameToPyExpression :: TypedTerm Name -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyNameToPyNamedExpression :: TypedTerm Name -> TypedTerm NamedExpression
+ Hydra.Python.Dsl.Utils: pyNameToPyPrimary :: TypedTerm Name -> TypedTerm Primary
+ Hydra.Python.Dsl.Utils: pyNameToPyStarTarget :: TypedTerm Name -> TypedTerm StarTarget
+ Hydra.Python.Dsl.Utils: pyNameToPyTypeParameter :: TypedTerm Name -> TypedTerm TypeParameter
+ Hydra.Python.Dsl.Utils: pyNone :: TypedTerm Name
+ Hydra.Python.Dsl.Utils: pyPrimaryToPyBitwiseOr :: TypedTerm Primary -> TypedTerm BitwiseOr
+ Hydra.Python.Dsl.Utils: pyPrimaryToPyBitwiseXor :: TypedTerm Primary -> TypedTerm BitwiseXor
+ Hydra.Python.Dsl.Utils: pyPrimaryToPyConjunction :: TypedTerm Primary -> TypedTerm Conjunction
+ Hydra.Python.Dsl.Utils: pyPrimaryToPyExpression :: TypedTerm Primary -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: pyPrimaryToPySlice :: TypedTerm Primary -> TypedTerm Slice
+ Hydra.Python.Dsl.Utils: pySimpleStatementToPyStatement :: TypedTerm SimpleStatement -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: raiseAssertionError :: TypedTerm String -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: raiseTypeError :: TypedTerm String -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: returnSingle :: TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: selfOnlyParams :: TypedTerm Parameters
+ Hydra.Python.Dsl.Utils: selfOtherParams :: TypedTerm Parameters
+ Hydra.Python.Dsl.Utils: singleQuotedString :: TypedTerm String -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: stringToPyExpression :: TypedTerm QuoteStyle -> TypedTerm String -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: targetPythonVersion :: TypedTerm PythonVersion
+ Hydra.Python.Dsl.Utils: tripleQuotedString :: TypedTerm String -> TypedTerm Expression
+ Hydra.Python.Dsl.Utils: typeAliasStatement :: TypedTerm Name -> TypedTerm [TypeParameter] -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: typeAliasStatement310 :: TypedTerm Name -> TypedTerm t0 -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm Statement
+ Hydra.Python.Dsl.Utils: unionTypeClassStatements310 :: TypedTerm Name -> TypedTerm (Maybe String) -> TypedTerm Expression -> TypedTerm [Statement] -> TypedTerm [Statement]
+ Hydra.Python.Dsl.Utils: unitVariantMethods :: TypedTerm Name -> TypedTerm [Statement]
+ Hydra.Python.Environment: instance GHC.Internal.Read.Read Hydra.Python.Environment.PythonModuleMetadata
+ Hydra.Python.Environment: instance GHC.Internal.Read.Read Hydra.Python.Environment.PythonVersion
+ Hydra.Python.Environment: instance GHC.Internal.Show.Show Hydra.Python.Environment.PythonModuleMetadata
+ Hydra.Python.Environment: instance GHC.Internal.Show.Show Hydra.Python.Environment.PythonVersion
+ Hydra.Python.Pyproject: instance GHC.Internal.Read.Read Hydra.Python.Pyproject.PyProjectBuildConfiguration
+ Hydra.Python.Pyproject: instance GHC.Internal.Show.Show Hydra.Python.Pyproject.PyProjectBuildConfiguration
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AnnotatedRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AnnotatedStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Annotation
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Args
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AsPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AssertStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Assignment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AssignmentExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Atom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Attribute
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AugAssign
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AugAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.AwaitPrimary
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.BitwiseAnd
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.BitwiseOr
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.BitwiseXor
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Block
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CapturePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CaseBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ClassDefinition
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ClassPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ClosedPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CommaStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CompareOp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CompareOpBitwiseOrPair
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Comparison
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ComplexNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.CompoundStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Conditional
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Conjunction
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Decorators
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Default
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DelStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DelTAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DelTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DelTargets
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Dict
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Dictcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Disjunction
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DottedAsName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DottedName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DoubleStarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DoubleStarTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.DoubleStarredKvpair
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Eval
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ExceptBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ExceptExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ExceptStarBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Expression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Factor
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.File
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ForIfClause
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ForIfClauses
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ForStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.FuncTypeComment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.FunctionDefRaw
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.FunctionDefinition
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Genexp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.GenexpHead
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Group
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.GroupPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Guard
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.IfStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.IfTail
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImaginaryNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportFrom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportFromAsName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportFromTargets
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ImportStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Interactive
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Inversion
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ItemsPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KeyValuePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KeywordPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KeywordPatterns
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Keywords
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Kvpair
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Kwarg
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KwargOrDoubleStarred
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.KwargOrStarred
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Lambda
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaKwds
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaParamMaybeDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaParamNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaParamWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaSlashNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaSlashWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LambdaStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.List
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Listcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LiteralExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.LiteralExpressionOrAttribute
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.MappingPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.MatchStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.MaybeSequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.MaybeStarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Module
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Name
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.NameOrAttribute
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.NamedExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.NoDefaultStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Number
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.OpenSequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.OrPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Param
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamMaybeDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamNoDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamNoDefaultStarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamStarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ParamWithDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Parameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Pattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PatternCaptureTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Patterns
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PlusOrMinus
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PosArg
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PositionalPatterns
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Power
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Primary
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PrimaryRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.PrimaryWithRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.QuoteStyle
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.RaiseExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.RaiseStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.RealNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.RelativeImportPrefix
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ReturnStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Set
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Setcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ShiftExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ShiftLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ShiftOp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SignedNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SignedRealNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SimpleStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SimpleTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SingleSubscriptAttributeTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SingleTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SlashNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SlashNoDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SlashWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SlashWithDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Slice
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SliceExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SliceOrStarredExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Slices
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarNamedExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarNamedExpressions
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarTargetsListSeq
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarTargetsTupleSeq
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StarredExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Statement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.StringPrefix
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.String_
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SubjectExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Sum
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SumLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.SumOp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimary
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimaryAndArguments
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimaryAndGenexp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimaryAndName
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TPrimaryAndSlices
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TargetWithStarAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Term
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TermLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TermOp
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TryExceptStarStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TryExceptStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TryFinallyStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TryStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.Tuple
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypeAlias
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypeComment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypeExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.TypedAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.UntypedAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.ValuePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.WhileStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.WithItem
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.WithStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.YieldExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Read.Read Hydra.Python.Syntax.YieldStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AnnotatedRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AnnotatedStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Annotation
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Args
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AsPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AssertStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Assignment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AssignmentExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Atom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Attribute
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AugAssign
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AugAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.AwaitPrimary
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.BitwiseAnd
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.BitwiseOr
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.BitwiseXor
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Block
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CapturePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CaseBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ClassDefinition
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ClassPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ClosedPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CommaStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CompareOp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CompareOpBitwiseOrPair
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Comparison
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ComplexNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.CompoundStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Conditional
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Conjunction
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Decorators
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Default
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DelStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DelTAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DelTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DelTargets
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Dict
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Dictcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Disjunction
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DottedAsName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DottedName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DoubleStarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DoubleStarTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.DoubleStarredKvpair
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Eval
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ExceptBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ExceptExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ExceptStarBlock
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Expression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Factor
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.File
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ForIfClause
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ForIfClauses
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ForStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.FuncTypeComment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.FunctionDefRaw
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.FunctionDefinition
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Genexp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.GenexpHead
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Group
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.GroupPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Guard
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.IfStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.IfTail
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImaginaryNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportFrom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportFromAsName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportFromTargets
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ImportStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Interactive
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Inversion
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ItemsPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KeyValuePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KeywordPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KeywordPatterns
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Keywords
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Kvpair
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Kwarg
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KwargOrDoubleStarred
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.KwargOrStarred
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Lambda
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaKwds
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaParamMaybeDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaParamNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaParamWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaSlashNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaSlashWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LambdaStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.List
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Listcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LiteralExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.LiteralExpressionOrAttribute
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.MappingPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.MatchStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.MaybeSequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.MaybeStarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Module
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Name
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.NameOrAttribute
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.NamedExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.NoDefaultStarAnnotationStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.NoDefaultStarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Number
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.OpenSequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.OrPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Param
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamMaybeDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamNoDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamNoDefaultStarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamStarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ParamWithDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Parameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Pattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PatternCaptureTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Patterns
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PlusOrMinus
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PosArg
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PositionalPatterns
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Power
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Primary
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PrimaryRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.PrimaryWithRhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.QuoteStyle
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.RaiseExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.RaiseStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.RealNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.RelativeImportPrefix
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ReturnStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SequencePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Set
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Setcomp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ShiftExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ShiftLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ShiftOp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SignedNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SignedRealNumber
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SimpleStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SimpleTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SingleSubscriptAttributeTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SingleTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SlashNoDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SlashNoDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SlashWithDefault
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SlashWithDefaultParameters
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Slice
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SliceExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SliceOrStarredExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Slices
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarAnnotation
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarEtc
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarNamedExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarNamedExpressions
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarPattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarTarget
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarTargetsListSeq
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarTargetsTupleSeq
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarTypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StarredExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Statement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.StringPrefix
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.String_
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SubjectExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Sum
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SumLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.SumOp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimary
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimaryAndArguments
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimaryAndGenexp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimaryAndName
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TPrimaryAndSlices
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TargetWithStarAtom
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Term
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TermLhs
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TermOp
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TryExceptStarStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TryExceptStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TryFinallyStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TryStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.Tuple
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypeAlias
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypeComment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypeExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypeParameter
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.TypedAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.UntypedAssignment
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.ValuePattern
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.WhileStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.WithItem
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.WithStatement
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.YieldExpression
+ Hydra.Python.Syntax: instance GHC.Internal.Show.Show Hydra.Python.Syntax.YieldStatement

Files

CHANGELOG.md view
@@ -15,6 +15,86 @@  --- +## [0.18.0] - 2026-09-29++Module-naming systematization release: every kernel and package module moves onto a uniform+`hydra.core.*` / `hydra.<pkg>.*` grammar, completing the package ⊃ module ⊃ definition containment+tower. The rename touches every module, definition, and cross-host reference in the codebase; this+release exists primarily to ship it as its own coordinated batch. Also lands the translingual regex+primitive pipeline and several silent-correctness fixes in the coder layer.++### Highlights++- **Module-name grammar systematization** ([#729](https://github.com/CategoricalData/hydra/issues/729)):+  every `hydra.*` module renamed onto a uniform package-derived prefix — kernel modules move to+  `hydra.core.*`, package modules to `hydra.<pkg>.*` — closing the long-standing inconsistency where+  a package name had no structural relationship to the module names it contained. The rename spans+  every host (Haskell, Java, Python, Scala, TypeScript, all four Lisp dialects) and required fixing+  stale namespace references, overlay-directory paths, and `hostOverrides` shims across every driver+  and bootstrap script that had hardcoded the old grammar. Further consolidation (a structurally+  enforced package↔prefix law) is tracked for 0.18.1. The kernel package itself is still published as+  `hydra-kernel` (its modules are under `hydra.core.*`); the `hydra-core` package rename #729 called for+  is under review because that name is taken on PyPI and npm+  ([#770](https://github.com/CategoricalData/hydra/issues/770)).+- **Translingual regex primitives** ([#603](https://github.com/CategoricalData/hydra/issues/603)):+  `hydra.lib.regex` primitives (`find`, `findAll`, `matches`, `replace`, `replaceAll`, `split`) now run+  every pattern through the shared `hydra.regex` parse/print pipeline instead of handing raw pattern+  strings to each host's native engine, so a pattern means the same thing on every host. Includes a+  host-independent conformance suite and a leftmost-longest alternation fix in the PCRE/POSIX printers.+- **Silent-corruption fixes across the coder layer**+  ([#744](https://github.com/CategoricalData/hydra/issues/744),+  [#765](https://github.com/CategoricalData/hydra/issues/765),+  [#649](https://github.com/CategoricalData/hydra/issues/649)): fixed data-corrupting bugs in the+  JSON-Schema/Avro/GraphQL/GraphSON/Protobuf coders (extended integer widths, map-key handling), the+  kernel's encode/decode generators (reversed type-parameter order on 2+-param polymorphic types), and+  the Python coder (silently dropping a module's types when types and terms share a file path).+- **Self-hosted specification docs** ([#723](https://github.com/CategoricalData/hydra/issues/723)):+  the module-reference pages under `docs/specification/` are now generated directly from the kernel+  (`bin/regenerate-spec.sh`) via a new metadata-only doc coder, rather than hand-maintained.++### New features++- **[#603](https://github.com/CategoricalData/hydra/issues/603)** host-independent regex conformance+  suite covering the minimal-core grammar (literals, classes, quantifiers, alternation, anchors,+  grouping) across all 9 hosts.+- **[#723](https://github.com/CategoricalData/hydra/issues/723)** `hydra.markdown` type module and+  `generateModuleDoc`, the metadata-only doc coder backing the self-generated spec pages.+- **[#382](https://github.com/CategoricalData/hydra/issues/382)** the Rust coder is split out of+  `hydra-ext` into its own first-class `hydra-rust` package.++### Bug fixes++- **[#744](https://github.com/CategoricalData/hydra/issues/744)** silent data corruption in+  JSON-Schema/Avro/GraphQL/GraphSON/Protobuf coders for extended integer widths and map-key handling.+- **[#765](https://github.com/CategoricalData/hydra/issues/765)** kernel encode/decode generators+  emitted reversed type-parameter order for 2+-param polymorphic types.+- **[#649](https://github.com/CategoricalData/hydra/issues/649)** Python coder silently dropped a+  module's types when types and terms targeted the same output file path.+- **[#572](https://github.com/CategoricalData/hydra/issues/572)** TypeScript kernel-JSON test+  bridge's compact-form decode heuristic mishandled nullary union arms.+- **[#761](https://github.com/CategoricalData/hydra/issues/761)** cold-seed generation ignored+  `hostOverrides.java=local`, silently pulling the published Java host jar instead.+- **[#736](https://github.com/CategoricalData/hydra/issues/736)** Java build now pins JDK 11 via a+  Gradle toolchain block, instead of depending on ambient `JAVA_HOME`.++### Improvements++- **[#327](https://github.com/CategoricalData/hydra/issues/327)** new `hydra.diff` schema-diff type+  module; `Term.Inject` comparison is now by variant name.+- **[#573](https://github.com/CategoricalData/hydra/issues/573)** per-registry publish sets (Hackage,+  Maven, PyPI, npm) are now derived from the package registry itself instead of 13 hand-maintained+  lists — closes a recurring class of silent release-time drift.+- **[#735](https://github.com/CategoricalData/hydra/issues/735)** cross-host decimal-scale test+  filtering now driven by a translingual `scaleDistinct` capability tag instead of hand-copied+  per-host skip lists.++### Documentation++- **[#655](https://github.com/CategoricalData/hydra/issues/655)** documented the overlay-emission+  "implementation wins" decision for bare primitive references (`docs/overlays.md`).++---+ ## [0.17.7] - 2026-09-14  Correctness-hardening point release on the 0.17.x line, consolidating the 0.17.6 breaking batch. It
hydra-python.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           hydra-python-version:        0.17.7+version:        0.18.0 synopsis:       Hydra's Python coder: emit Python source from Hydra modules description:    Hydra is an implementation of the LambdaGraph data model, which takes advantage of an isomorphism between labeled hypergraphs and typed lambda calculus: in Hydra, "graphs are programs, and programs are graphs". Python support for Hydra category:       Data@@ -27,11 +27,11 @@  library   exposed-modules:-      Hydra.Dsl.Python.Environment-      Hydra.Dsl.Python.Names-      Hydra.Dsl.Python.Syntax-      Hydra.Dsl.Python.Utils       Hydra.Python.Coder+      Hydra.Python.Dsl.Environment+      Hydra.Python.Dsl.Names+      Hydra.Python.Dsl.Syntax+      Hydra.Python.Dsl.Utils       Hydra.Python.Environment       Hydra.Python.Language       Hydra.Python.Names@@ -47,6 +47,6 @@   build-depends:       base >=4.19.0 && <4.22     , containers >=0.6.7 && <0.8-    , hydra-kernel ==0.17.7+    , hydra-kernel ==0.18.0     , scientific >=0.3.7 && <0.4   default-language: Haskell2010
− src/main/haskell/Hydra/Dsl/Python/Environment.hs
@@ -1,4749 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | DSL functions for hydra.python.environment--module Hydra.Dsl.Python.Environment where--import qualified Hydra.Core as Core-import qualified Hydra.Dsl.Python.Syntax as PythonSyntax-import qualified Hydra.Graph as Graph-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Python.Environment as Environment-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void-import qualified Data.Map as M-import qualified Data.Set as S---- | DSL constructor for hydra.python.environment.PyGraph-pyGraph :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Environment.PyGraph-pyGraph graph metadata =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PyGraph"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Typed.unTypedTerm graph)},-        Core.Field {-          Core.fieldName = (Core.Name "metadata"),-          Core.fieldTerm = (Typed.unTypedTerm metadata)}]}))---- | DSL accessor for the graph field of hydra.python.environment.PyGraph-pyGraphGraph :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Graph.Graph-pyGraphGraph x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PyGraph"),-        Core.projectionFieldName = (Core.Name "graph")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the metadata field of hydra.python.environment.PyGraph-pyGraphMetadata :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Environment.PythonModuleMetadata-pyGraphMetadata x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PyGraph"),-        Core.projectionFieldName = (Core.Name "metadata")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.environment.PyGraph-pyGraphPyGraph :: Typed.TypedName Environment.PyGraph-pyGraphPyGraph = Typed.TypedName (Core.Name "hydra.python.environment.PyGraph")---- | DSL updater for the graph field of hydra.python.environment.PyGraph-pyGraphWithGraph :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PyGraph-pyGraphWithGraph original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PyGraph"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "metadata"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PyGraph"),-              Core.projectionFieldName = (Core.Name "metadata")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the metadata field of hydra.python.environment.PyGraph-pyGraphWithMetadata :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Environment.PyGraph-pyGraphWithMetadata original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PyGraph"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PyGraph"),-              Core.projectionFieldName = (Core.Name "graph")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "metadata"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.environment.PythonEnvironment-pythonEnvironment :: Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm ([Core.Name], (M.Map Core.Name Syntax.Name)) -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Environment.PythonVersion -> Typed.TypedTerm Bool -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironment namespaces boundTypeVariables graph nullaryBindings version skipCasts inlineVariables overlaySubs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Typed.unTypedTerm namespaces)},-        Core.Field {-          Core.fieldName = (Core.Name "boundTypeVariables"),-          Core.fieldTerm = (Typed.unTypedTerm boundTypeVariables)},-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Typed.unTypedTerm graph)},-        Core.Field {-          Core.fieldName = (Core.Name "nullaryBindings"),-          Core.fieldTerm = (Typed.unTypedTerm nullaryBindings)},-        Core.Field {-          Core.fieldName = (Core.Name "version"),-          Core.fieldTerm = (Typed.unTypedTerm version)},-        Core.Field {-          Core.fieldName = (Core.Name "skipCasts"),-          Core.fieldTerm = (Typed.unTypedTerm skipCasts)},-        Core.Field {-          Core.fieldName = (Core.Name "inlineVariables"),-          Core.fieldTerm = (Typed.unTypedTerm inlineVariables)},-        Core.Field {-          Core.fieldName = (Core.Name "overlaySubs"),-          Core.fieldTerm = (Typed.unTypedTerm overlaySubs)}]}))---- | DSL accessor for the boundTypeVariables field of hydra.python.environment.PythonEnvironment-pythonEnvironmentBoundTypeVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm ([Core.Name], (M.Map Core.Name Syntax.Name))-pythonEnvironmentBoundTypeVariables x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-        Core.projectionFieldName = (Core.Name "boundTypeVariables")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the graph field of hydra.python.environment.PythonEnvironment-pythonEnvironmentGraph :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Graph.Graph-pythonEnvironmentGraph x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-        Core.projectionFieldName = (Core.Name "graph")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the inlineVariables field of hydra.python.environment.PythonEnvironment-pythonEnvironmentInlineVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Core.Name)-pythonEnvironmentInlineVariables x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-        Core.projectionFieldName = (Core.Name "inlineVariables")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the namespaces field of hydra.python.environment.PythonEnvironment-pythonEnvironmentNamespaces :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)-pythonEnvironmentNamespaces x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-        Core.projectionFieldName = (Core.Name "namespaces")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the nullaryBindings field of hydra.python.environment.PythonEnvironment-pythonEnvironmentNullaryBindings :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Core.Name)-pythonEnvironmentNullaryBindings x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-        Core.projectionFieldName = (Core.Name "nullaryBindings")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the overlaySubs field of hydra.python.environment.PythonEnvironment-pythonEnvironmentOverlaySubs :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set String)-pythonEnvironmentOverlaySubs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-        Core.projectionFieldName = (Core.Name "overlaySubs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.environment.PythonEnvironment-pythonEnvironmentPythonEnvironment :: Typed.TypedName Environment.PythonEnvironment-pythonEnvironmentPythonEnvironment = Typed.TypedName (Core.Name "hydra.python.environment.PythonEnvironment")---- | DSL accessor for the skipCasts field of hydra.python.environment.PythonEnvironment-pythonEnvironmentSkipCasts :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Bool-pythonEnvironmentSkipCasts x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-        Core.projectionFieldName = (Core.Name "skipCasts")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the version field of hydra.python.environment.PythonEnvironment-pythonEnvironmentVersion :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Environment.PythonVersion-pythonEnvironmentVersion x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-        Core.projectionFieldName = (Core.Name "version")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the boundTypeVariables field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithBoundTypeVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm ([Core.Name], (M.Map Core.Name Syntax.Name)) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithBoundTypeVariables original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "boundTypeVariables"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "graph")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "nullaryBindings"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "nullaryBindings")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "version"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "version")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "skipCasts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "skipCasts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "inlineVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "inlineVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "overlaySubs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "overlaySubs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the graph field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithGraph :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithGraph original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "boundTypeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "boundTypeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "nullaryBindings"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "nullaryBindings")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "version"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "version")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "skipCasts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "skipCasts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "inlineVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "inlineVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "overlaySubs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "overlaySubs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the inlineVariables field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithInlineVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithInlineVariables original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "boundTypeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "boundTypeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "graph")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "nullaryBindings"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "nullaryBindings")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "version"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "version")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "skipCasts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "skipCasts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "inlineVariables"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "overlaySubs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "overlaySubs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the namespaces field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithNamespaces :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithNamespaces original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "boundTypeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "boundTypeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "graph")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "nullaryBindings"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "nullaryBindings")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "version"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "version")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "skipCasts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "skipCasts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "inlineVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "inlineVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "overlaySubs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "overlaySubs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the nullaryBindings field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithNullaryBindings :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithNullaryBindings original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "boundTypeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "boundTypeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "graph")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "nullaryBindings"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "version"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "version")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "skipCasts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "skipCasts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "inlineVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "inlineVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "overlaySubs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "overlaySubs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the overlaySubs field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithOverlaySubs :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithOverlaySubs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "boundTypeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "boundTypeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "graph")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "nullaryBindings"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "nullaryBindings")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "version"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "version")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "skipCasts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "skipCasts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "inlineVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "inlineVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "overlaySubs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the skipCasts field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithSkipCasts :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithSkipCasts original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "boundTypeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "boundTypeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "graph")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "nullaryBindings"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "nullaryBindings")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "version"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "version")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "skipCasts"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "inlineVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "inlineVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "overlaySubs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "overlaySubs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the version field of hydra.python.environment.PythonEnvironment-pythonEnvironmentWithVersion :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Environment.PythonVersion -> Typed.TypedTerm Environment.PythonEnvironment-pythonEnvironmentWithVersion original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "boundTypeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "boundTypeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "graph"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "graph")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "nullaryBindings"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "nullaryBindings")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "version"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "skipCasts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "skipCasts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "inlineVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "inlineVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "overlaySubs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonEnvironment"),-              Core.projectionFieldName = (Core.Name "overlaySubs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.environment.PythonModuleMetadata-pythonModuleMetadata :: Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadata namespaces typeVariables usesAnnotated usesCallable usesCast usesLruCache usesTypeAlias usesDataclass usesDecimal usesEither usesEnum usesFrozenDict usesFrozenList usesFrozenSet usesGeneric usesJust usesLeft usesMaybe usesName usesNode usesNothing usesRight usesTypeVar =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Typed.unTypedTerm namespaces)},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Typed.unTypedTerm typeVariables)},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Typed.unTypedTerm usesAnnotated)},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Typed.unTypedTerm usesCallable)},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Typed.unTypedTerm usesCast)},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Typed.unTypedTerm usesLruCache)},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Typed.unTypedTerm usesTypeAlias)},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Typed.unTypedTerm usesDataclass)},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Typed.unTypedTerm usesDecimal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Typed.unTypedTerm usesEither)},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Typed.unTypedTerm usesEnum)},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Typed.unTypedTerm usesFrozenDict)},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Typed.unTypedTerm usesFrozenList)},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Typed.unTypedTerm usesFrozenSet)},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Typed.unTypedTerm usesGeneric)},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Typed.unTypedTerm usesJust)},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Typed.unTypedTerm usesLeft)},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Typed.unTypedTerm usesMaybe)},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Typed.unTypedTerm usesName)},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Typed.unTypedTerm usesNode)},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Typed.unTypedTerm usesNothing)},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Typed.unTypedTerm usesRight)},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Typed.unTypedTerm usesTypeVar)}]}))---- | DSL accessor for the namespaces field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataNamespaces :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)-pythonModuleMetadataNamespaces x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "namespaces")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataPythonModuleMetadata :: Typed.TypedName Environment.PythonModuleMetadata-pythonModuleMetadataPythonModuleMetadata = Typed.TypedName (Core.Name "hydra.python.environment.PythonModuleMetadata")---- | DSL accessor for the typeVariables field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataTypeVariables :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (S.Set Core.Name)-pythonModuleMetadataTypeVariables x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "typeVariables")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesAnnotated field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesAnnotated :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesAnnotated x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesAnnotated")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesCallable field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesCallable :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesCallable x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesCallable")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesCast field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesCast :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesCast x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesCast")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesDataclass field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesDataclass :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesDataclass x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesDataclass")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesDecimal field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesDecimal :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesDecimal x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesDecimal")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesEither field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesEither :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesEither x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesEither")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesEnum field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesEnum :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesEnum x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesEnum")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesFrozenDict field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesFrozenDict :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesFrozenDict x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesFrozenList field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesFrozenList :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesFrozenList x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesFrozenList")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesFrozenSet field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesFrozenSet :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesFrozenSet x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesGeneric field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesGeneric :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesGeneric x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesGeneric")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesJust field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesJust :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesJust x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesJust")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesLeft field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesLeft :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesLeft x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesLeft")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesLruCache field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesLruCache :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesLruCache x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesLruCache")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesMaybe field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesMaybe :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesMaybe x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesMaybe")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesName field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesName :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesName")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesNode field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesNode :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesNode x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesNode")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesNothing field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesNothing :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesNothing x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesNothing")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesRight field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesRight :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesRight x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesRight")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesTypeAlias field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesTypeAlias :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesTypeAlias x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the usesTypeVar field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataUsesTypeVar :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool-pythonModuleMetadataUsesTypeVar x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-        Core.projectionFieldName = (Core.Name "usesTypeVar")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the namespaces field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithNamespaces :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithNamespaces original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeVariables field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithTypeVariables :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (S.Set Core.Name) -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithTypeVariables original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesAnnotated field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesAnnotated :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesAnnotated original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesCallable field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesCallable :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesCallable original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesCast field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesCast :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesCast original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesDataclass field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesDataclass :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesDataclass original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesDecimal field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesDecimal :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesDecimal original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesEither field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesEither :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesEither original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesEnum field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesEnum :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesEnum original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesFrozenDict field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenDict :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenDict original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesFrozenList field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenList :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenList original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesFrozenSet field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenSet :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesFrozenSet original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesGeneric field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesGeneric :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesGeneric original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesJust field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesJust :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesJust original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesLeft field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesLeft :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesLeft original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesLruCache field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesLruCache :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesLruCache original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesMaybe field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesMaybe :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesMaybe original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesName field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesName :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesNode field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesNode :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesNode original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesNothing field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesNothing :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesNothing original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesRight field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesRight :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesRight original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesTypeAlias field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesTypeAlias :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesTypeAlias original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeVar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the usesTypeVar field of hydra.python.environment.PythonModuleMetadata-pythonModuleMetadataWithUsesTypeVar :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata-pythonModuleMetadataWithUsesTypeVar original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "namespaces"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "namespaces")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeVariables"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "typeVariables")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesAnnotated"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesAnnotated")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCallable"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCallable")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesCast"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesCast")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLruCache"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLruCache")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeAlias"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesTypeAlias")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDataclass"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDataclass")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesDecimal"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesDecimal")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEither"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEither")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesEnum"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesEnum")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenDict"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenDict")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenList"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenList")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesFrozenSet"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesFrozenSet")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesGeneric"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesGeneric")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesJust"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesJust")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesLeft"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesLeft")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesMaybe"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesMaybe")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNode"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNode")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesNothing"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesNothing")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesRight"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.environment.PythonModuleMetadata"),-              Core.projectionFieldName = (Core.Name "usesRight")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "usesTypeVar"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the python310 variant of hydra.python.environment.PythonVersion-pythonVersionPython310 :: Typed.TypedTerm Environment.PythonVersion-pythonVersionPython310 =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.environment.PythonVersion"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "python310"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the python312 variant of hydra.python.environment.PythonVersion-pythonVersionPython312 :: Typed.TypedTerm Environment.PythonVersion-pythonVersionPython312 =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.environment.PythonVersion"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "python312"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.environment.PythonVersion-pythonVersionPythonVersion :: Typed.TypedName Environment.PythonVersion-pythonVersionPythonVersion = Typed.TypedName (Core.Name "hydra.python.environment.PythonVersion")
− src/main/haskell/Hydra/Dsl/Python/Names.hs
@@ -1,194 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | DSL functions for hydra.python.names--module Hydra.Dsl.Python.Names where--import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Dsl.Python.Environment as PythonEnvironment-import qualified Hydra.Dsl.Python.Syntax as PythonSyntax-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Python.Environment as Environment-import qualified Hydra.Python.Language as Language-import qualified Hydra.Python.Names as PythonNames-import qualified Hydra.Python.Serde as Serde-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variants as Variants-import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void-import qualified Data.Map as M-import qualified Data.Set as S---- | DSL reference to hydra.python.names.encodeConstantForFieldName-encodeConstantForFieldName :: Typed.TypedTerm t0 -> Typed.TypedTerm t1 -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeConstantForFieldName arg0 arg1 arg2 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeConstantForFieldName")),-          Core.applicationArgument = (Typed.unTypedTerm arg0)})),-        Core.applicationArgument = (Typed.unTypedTerm arg1)})),-      Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.names.encodeConstantForTypeName-encodeConstantForTypeName :: Typed.TypedTerm t0 -> Typed.TypedTerm t1 -> Typed.TypedTerm Syntax.Name-encodeConstantForTypeName arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeConstantForTypeName")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeEnumValue-encodeEnumValue :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeEnumValue arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeEnumValue")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeFieldName-encodeFieldName :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeFieldName arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeFieldName")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeName-encodeName :: Typed.TypedTerm Bool -> Typed.TypedTerm Util.CaseConvention -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeName arg0 arg1 arg2 arg3 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeName")),-            Core.applicationArgument = (Typed.unTypedTerm arg0)})),-          Core.applicationArgument = (Typed.unTypedTerm arg1)})),-        Core.applicationArgument = (Typed.unTypedTerm arg2)})),-      Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.names.encodeNameQualified-encodeNameQualified :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeNameQualified arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeNameQualified")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeNamespace-encodeNamespace :: Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm Syntax.DottedName-encodeNamespace arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeNamespace")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.names.encodeNamespaceStringWithOverrides-encodeNamespaceStringWithOverrides :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm String-encodeNamespaceStringWithOverrides arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeNamespaceStringWithOverrides")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeNamespaceWithOverrides-encodeNamespaceWithOverrides :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm Syntax.DottedName-encodeNamespaceWithOverrides arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeNamespaceWithOverrides")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.encodeTypeVariable-encodeTypeVariable :: Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-encodeTypeVariable arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.encodeTypeVariable")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.names.overlayPythonModuleAliases-overlayPythonModuleAliases :: Typed.TypedTerm (M.Map Packaging.ModuleName String)-overlayPythonModuleAliases = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.names.overlayPythonModuleAliases"))---- | DSL reference to hydra.python.names.sanitizePythonName-sanitizePythonName :: Typed.TypedTerm String -> Typed.TypedTerm String-sanitizePythonName arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.sanitizePythonName")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.names.termVariableReference-termVariableReference :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Expression-termVariableReference arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.termVariableReference")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.typeVariableReference-typeVariableReference :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Expression-typeVariableReference arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.typeVariableReference")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.names.useFutureAnnotations-useFutureAnnotations :: Typed.TypedTerm Bool-useFutureAnnotations = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.names.useFutureAnnotations"))---- | DSL reference to hydra.python.names.variableReference-variableReference :: Typed.TypedTerm Util.CaseConvention -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Expression-variableReference arg0 arg1 arg2 arg3 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.variableReference")),-            Core.applicationArgument = (Typed.unTypedTerm arg0)})),-          Core.applicationArgument = (Typed.unTypedTerm arg1)})),-        Core.applicationArgument = (Typed.unTypedTerm arg2)})),-      Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.names.variantName-variantName :: Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Core.Name -> Typed.TypedTerm Syntax.Name-variantName arg0 arg1 arg2 arg3 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.names.variantName")),-            Core.applicationArgument = (Typed.unTypedTerm arg0)})),-          Core.applicationArgument = (Typed.unTypedTerm arg1)})),-        Core.applicationArgument = (Typed.unTypedTerm arg2)})),-      Core.applicationArgument = (Typed.unTypedTerm arg3)}))
− src/main/haskell/Hydra/Dsl/Python/Syntax.hs
@@ -1,11743 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | DSL functions for hydra.python.syntax--module Hydra.Dsl.Python.Syntax where--import qualified Hydra.Core as Core-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Typed as Typed-import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void---- | DSL name token for hydra.python.syntax.AnnotatedRhs-annotatedRhsAnnotatedRhs :: Typed.TypedName Syntax.AnnotatedRhs-annotatedRhsAnnotatedRhs = Typed.TypedName (Core.Name "hydra.python.syntax.AnnotatedRhs")---- | DSL injection for the star variant of hydra.python.syntax.AnnotatedRhs-annotatedRhsStar :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.AnnotatedRhs-annotatedRhsStar x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedRhs"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "star"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the yield variant of hydra.python.syntax.AnnotatedRhs-annotatedRhsYield :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.AnnotatedRhs-annotatedRhsYield x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedRhs"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "yield"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.AnnotatedStatement-annotatedStatement :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.AnnotatedStatement-annotatedStatement comment statement =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "comment"),-          Core.fieldTerm = (Typed.unTypedTerm comment)},-        Core.Field {-          Core.fieldName = (Core.Name "statement"),-          Core.fieldTerm = (Typed.unTypedTerm statement)}]}))---- | DSL name token for hydra.python.syntax.AnnotatedStatement-annotatedStatementAnnotatedStatement :: Typed.TypedName Syntax.AnnotatedStatement-annotatedStatementAnnotatedStatement = Typed.TypedName (Core.Name "hydra.python.syntax.AnnotatedStatement")---- | DSL accessor for the comment field of hydra.python.syntax.AnnotatedStatement-annotatedStatementComment :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm String-annotatedStatementComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),-        Core.projectionFieldName = (Core.Name "comment")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the statement field of hydra.python.syntax.AnnotatedStatement-annotatedStatementStatement :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement-annotatedStatementStatement x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),-        Core.projectionFieldName = (Core.Name "statement")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the comment field of hydra.python.syntax.AnnotatedStatement-annotatedStatementWithComment :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.AnnotatedStatement-annotatedStatementWithComment original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "comment"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "statement"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),-              Core.projectionFieldName = (Core.Name "statement")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the statement field of hydra.python.syntax.AnnotatedStatement-annotatedStatementWithStatement :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.AnnotatedStatement-annotatedStatementWithStatement original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "comment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AnnotatedStatement"),-              Core.projectionFieldName = (Core.Name "comment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "statement"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.Annotation wrapper-annotation :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Annotation-annotation x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Annotation"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Annotation-annotationAnnotation :: Typed.TypedName Syntax.Annotation-annotationAnnotation = Typed.TypedName (Core.Name "hydra.python.syntax.Annotation")---- | DSL constructor for hydra.python.syntax.Args-args :: Typed.TypedTerm [Syntax.PosArg] -> Typed.TypedTerm [Syntax.KwargOrStarred] -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred] -> Typed.TypedTerm Syntax.Args-args positional kwargOrStarred kwargOrDoubleStarred =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Args"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "positional"),-          Core.fieldTerm = (Typed.unTypedTerm positional)},-        Core.Field {-          Core.fieldName = (Core.Name "kwargOrStarred"),-          Core.fieldTerm = (Typed.unTypedTerm kwargOrStarred)},-        Core.Field {-          Core.fieldName = (Core.Name "kwargOrDoubleStarred"),-          Core.fieldTerm = (Typed.unTypedTerm kwargOrDoubleStarred)}]}))---- | DSL name token for hydra.python.syntax.Args-argsArgs :: Typed.TypedName Syntax.Args-argsArgs = Typed.TypedName (Core.Name "hydra.python.syntax.Args")---- | DSL accessor for the kwargOrDoubleStarred field of hydra.python.syntax.Args-argsKwargOrDoubleStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred]-argsKwargOrDoubleStarred x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),-        Core.projectionFieldName = (Core.Name "kwargOrDoubleStarred")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the kwargOrStarred field of hydra.python.syntax.Args-argsKwargOrStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrStarred]-argsKwargOrStarred x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),-        Core.projectionFieldName = (Core.Name "kwargOrStarred")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the positional field of hydra.python.syntax.Args-argsPositional :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.PosArg]-argsPositional x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),-        Core.projectionFieldName = (Core.Name "positional")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the kwargOrDoubleStarred field of hydra.python.syntax.Args-argsWithKwargOrDoubleStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred] -> Typed.TypedTerm Syntax.Args-argsWithKwargOrDoubleStarred original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Args"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "positional"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),-              Core.projectionFieldName = (Core.Name "positional")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "kwargOrStarred"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),-              Core.projectionFieldName = (Core.Name "kwargOrStarred")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "kwargOrDoubleStarred"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the kwargOrStarred field of hydra.python.syntax.Args-argsWithKwargOrStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrStarred] -> Typed.TypedTerm Syntax.Args-argsWithKwargOrStarred original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Args"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "positional"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),-              Core.projectionFieldName = (Core.Name "positional")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "kwargOrStarred"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "kwargOrDoubleStarred"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),-              Core.projectionFieldName = (Core.Name "kwargOrDoubleStarred")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the positional field of hydra.python.syntax.Args-argsWithPositional :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.PosArg] -> Typed.TypedTerm Syntax.Args-argsWithPositional original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Args"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "positional"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "kwargOrStarred"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),-              Core.projectionFieldName = (Core.Name "kwargOrStarred")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "kwargOrDoubleStarred"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Args"),-              Core.projectionFieldName = (Core.Name "kwargOrDoubleStarred")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.AsPattern-asPattern :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.AsPattern-asPattern pattern as =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AsPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "pattern"),-          Core.fieldTerm = (Typed.unTypedTerm pattern)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.AsPattern-asPatternAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget-asPatternAs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AsPattern"),-        Core.projectionFieldName = (Core.Name "as")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.AsPattern-asPatternAsPattern :: Typed.TypedName Syntax.AsPattern-asPatternAsPattern = Typed.TypedName (Core.Name "hydra.python.syntax.AsPattern")---- | DSL accessor for the pattern field of hydra.python.syntax.AsPattern-asPatternPattern :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.OrPattern-asPatternPattern x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AsPattern"),-        Core.projectionFieldName = (Core.Name "pattern")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.AsPattern-asPatternWithAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.AsPattern-asPatternWithAs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AsPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "pattern"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AsPattern"),-              Core.projectionFieldName = (Core.Name "pattern")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the pattern field of hydra.python.syntax.AsPattern-asPatternWithPattern :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.AsPattern-asPatternWithPattern original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AsPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "pattern"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AsPattern"),-              Core.projectionFieldName = (Core.Name "as")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.AssertStatement-assertStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.AssertStatement-assertStatement expression1 expression2 =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression1"),-          Core.fieldTerm = (Typed.unTypedTerm expression1)},-        Core.Field {-          Core.fieldName = (Core.Name "expression2"),-          Core.fieldTerm = (Typed.unTypedTerm expression2)}]}))---- | DSL name token for hydra.python.syntax.AssertStatement-assertStatementAssertStatement :: Typed.TypedName Syntax.AssertStatement-assertStatementAssertStatement = Typed.TypedName (Core.Name "hydra.python.syntax.AssertStatement")---- | DSL accessor for the expression1 field of hydra.python.syntax.AssertStatement-assertStatementExpression1 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.Expression-assertStatementExpression1 x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),-        Core.projectionFieldName = (Core.Name "expression1")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the expression2 field of hydra.python.syntax.AssertStatement-assertStatementExpression2 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm (Maybe Syntax.Expression)-assertStatementExpression2 x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),-        Core.projectionFieldName = (Core.Name "expression2")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the expression1 field of hydra.python.syntax.AssertStatement-assertStatementWithExpression1 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssertStatement-assertStatementWithExpression1 original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression1"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "expression2"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),-              Core.projectionFieldName = (Core.Name "expression2")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the expression2 field of hydra.python.syntax.AssertStatement-assertStatementWithExpression2 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.AssertStatement-assertStatementWithExpression2 original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression1"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssertStatement"),-              Core.projectionFieldName = (Core.Name "expression1")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "expression2"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.Assignment-assignmentAssignment :: Typed.TypedName Syntax.Assignment-assignmentAssignment = Typed.TypedName (Core.Name "hydra.python.syntax.Assignment")---- | DSL injection for the aug variant of hydra.python.syntax.Assignment-assignmentAug :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.Assignment-assignmentAug x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Assignment"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "aug"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.AssignmentExpression-assignmentExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentExpression-assignmentExpression name expression =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm expression)}]}))---- | DSL name token for hydra.python.syntax.AssignmentExpression-assignmentExpressionAssignmentExpression :: Typed.TypedName Syntax.AssignmentExpression-assignmentExpressionAssignmentExpression = Typed.TypedName (Core.Name "hydra.python.syntax.AssignmentExpression")---- | DSL accessor for the expression field of hydra.python.syntax.AssignmentExpression-assignmentExpressionExpression :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Expression-assignmentExpressionExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),-        Core.projectionFieldName = (Core.Name "expression")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.AssignmentExpression-assignmentExpressionName :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Name-assignmentExpressionName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the expression field of hydra.python.syntax.AssignmentExpression-assignmentExpressionWithExpression :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentExpression-assignmentExpressionWithExpression original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.AssignmentExpression-assignmentExpressionWithName :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.AssignmentExpression-assignmentExpressionWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AssignmentExpression"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the typed variant of hydra.python.syntax.Assignment-assignmentTyped :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Assignment-assignmentTyped x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Assignment"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "typed"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the untyped variant of hydra.python.syntax.Assignment-assignmentUntyped :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.Assignment-assignmentUntyped x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Assignment"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "untyped"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Atom-atomAtom :: Typed.TypedName Syntax.Atom-atomAtom = Typed.TypedName (Core.Name "hydra.python.syntax.Atom")---- | DSL injection for the dict variant of hydra.python.syntax.Atom-atomDict :: Typed.TypedTerm Syntax.Dict -> Typed.TypedTerm Syntax.Atom-atomDict x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "dict"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the dictcomp variant of hydra.python.syntax.Atom-atomDictcomp :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Atom-atomDictcomp x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "dictcomp"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the ellipsis variant of hydra.python.syntax.Atom-atomEllipsis :: Typed.TypedTerm Syntax.Atom-atomEllipsis =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "ellipsis"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the false variant of hydra.python.syntax.Atom-atomFalse :: Typed.TypedTerm Syntax.Atom-atomFalse =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "false"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the genexp variant of hydra.python.syntax.Atom-atomGenexp :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.Atom-atomGenexp x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "genexp"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the group variant of hydra.python.syntax.Atom-atomGroup :: Typed.TypedTerm Syntax.Group -> Typed.TypedTerm Syntax.Atom-atomGroup x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "group"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the list variant of hydra.python.syntax.Atom-atomList :: Typed.TypedTerm Syntax.List -> Typed.TypedTerm Syntax.Atom-atomList x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "list"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the listcomp variant of hydra.python.syntax.Atom-atomListcomp :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.Atom-atomListcomp x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "listcomp"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the name variant of hydra.python.syntax.Atom-atomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Atom-atomName x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "name"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the none variant of hydra.python.syntax.Atom-atomNone :: Typed.TypedTerm Syntax.Atom-atomNone =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "none"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the number variant of hydra.python.syntax.Atom-atomNumber :: Typed.TypedTerm Syntax.Number -> Typed.TypedTerm Syntax.Atom-atomNumber x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "number"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the set variant of hydra.python.syntax.Atom-atomSet :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm Syntax.Atom-atomSet x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "set"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the setcomp variant of hydra.python.syntax.Atom-atomSetcomp :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.Atom-atomSetcomp x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "setcomp"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the string variant of hydra.python.syntax.Atom-atomString :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.Atom-atomString x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "string"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the true variant of hydra.python.syntax.Atom-atomTrue :: Typed.TypedTerm Syntax.Atom-atomTrue =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "true"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the tuple variant of hydra.python.syntax.Atom-atomTuple :: Typed.TypedTerm Syntax.Tuple -> Typed.TypedTerm Syntax.Atom-atomTuple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Atom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "tuple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Attribute wrapper-attribute :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.Attribute-attribute x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Attribute"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Attribute-attributeAttribute :: Typed.TypedName Syntax.Attribute-attributeAttribute = Typed.TypedName (Core.Name "hydra.python.syntax.Attribute")---- | DSL injection for the ampersandEqual variant of hydra.python.syntax.AugAssign-augAssignAmpersandEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignAmpersandEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "ampersandEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the atEqual variant of hydra.python.syntax.AugAssign-augAssignAtEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignAtEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "atEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.AugAssign-augAssignAugAssign :: Typed.TypedName Syntax.AugAssign-augAssignAugAssign = Typed.TypedName (Core.Name "hydra.python.syntax.AugAssign")---- | DSL injection for the barEqual variant of hydra.python.syntax.AugAssign-augAssignBarEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignBarEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "barEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the caretEqual variant of hydra.python.syntax.AugAssign-augAssignCaretEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignCaretEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "caretEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the doubleSlashEqual variant of hydra.python.syntax.AugAssign-augAssignDoubleSlashEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignDoubleSlashEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "doubleSlashEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the leftShiftEqual variant of hydra.python.syntax.AugAssign-augAssignLeftShiftEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignLeftShiftEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "leftShiftEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the minusEqual variant of hydra.python.syntax.AugAssign-augAssignMinusEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignMinusEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "minusEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the percentEqual variant of hydra.python.syntax.AugAssign-augAssignPercentEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignPercentEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "percentEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the plusEqual variant of hydra.python.syntax.AugAssign-augAssignPlusEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignPlusEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "plusEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the rightShiftEqual variant of hydra.python.syntax.AugAssign-augAssignRightShiftEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignRightShiftEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "rightShiftEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the slashEqual variant of hydra.python.syntax.AugAssign-augAssignSlashEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignSlashEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "slashEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the starStarEqual variant of hydra.python.syntax.AugAssign-augAssignStarStarEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignStarStarEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starStarEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the timesEqual variant of hydra.python.syntax.AugAssign-augAssignTimesEqual :: Typed.TypedTerm Syntax.AugAssign-augAssignTimesEqual =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.AugAssign"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "timesEqual"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.AugAssignment-augAssignment :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.AugAssign -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.AugAssignment-augAssignment lhs augassign rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "augassign"),-          Core.fieldTerm = (Typed.unTypedTerm augassign)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.AugAssignment-augAssignmentAugAssignment :: Typed.TypedName Syntax.AugAssignment-augAssignmentAugAssignment = Typed.TypedName (Core.Name "hydra.python.syntax.AugAssignment")---- | DSL accessor for the augassign field of hydra.python.syntax.AugAssignment-augAssignmentAugassign :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AugAssign-augAssignmentAugassign x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-        Core.projectionFieldName = (Core.Name "augassign")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the lhs field of hydra.python.syntax.AugAssignment-augAssignmentLhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.SingleTarget-augAssignmentLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.AugAssignment-augAssignmentRhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs-augAssignmentRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the augassign field of hydra.python.syntax.AugAssignment-augAssignmentWithAugassign :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AugAssign -> Typed.TypedTerm Syntax.AugAssignment-augAssignmentWithAugassign original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "augassign"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the lhs field of hydra.python.syntax.AugAssignment-augAssignmentWithLhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.AugAssignment-augAssignmentWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "augassign"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-              Core.projectionFieldName = (Core.Name "augassign")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.AugAssignment-augAssignmentWithRhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.AugAssignment-augAssignmentWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "augassign"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AugAssignment"),-              Core.projectionFieldName = (Core.Name "augassign")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.AwaitPrimary-awaitPrimary :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.AwaitPrimary-awaitPrimary await primary =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "await"),-          Core.fieldTerm = (Typed.unTypedTerm await)},-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm primary)}]}))---- | DSL accessor for the await field of hydra.python.syntax.AwaitPrimary-awaitPrimaryAwait :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Bool-awaitPrimaryAwait x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),-        Core.projectionFieldName = (Core.Name "await")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.AwaitPrimary-awaitPrimaryAwaitPrimary :: Typed.TypedName Syntax.AwaitPrimary-awaitPrimaryAwaitPrimary = Typed.TypedName (Core.Name "hydra.python.syntax.AwaitPrimary")---- | DSL accessor for the primary field of hydra.python.syntax.AwaitPrimary-awaitPrimaryPrimary :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Primary-awaitPrimaryPrimary x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),-        Core.projectionFieldName = (Core.Name "primary")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the await field of hydra.python.syntax.AwaitPrimary-awaitPrimaryWithAwait :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.AwaitPrimary-awaitPrimaryWithAwait original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "await"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),-              Core.projectionFieldName = (Core.Name "primary")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the primary field of hydra.python.syntax.AwaitPrimary-awaitPrimaryWithPrimary :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.AwaitPrimary-awaitPrimaryWithPrimary original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "await"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.AwaitPrimary"),-              Core.projectionFieldName = (Core.Name "await")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.BitwiseAnd-bitwiseAnd :: Typed.TypedTerm (Maybe Syntax.BitwiseAnd) -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BitwiseAnd-bitwiseAnd lhs rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.BitwiseAnd-bitwiseAndBitwiseAnd :: Typed.TypedName Syntax.BitwiseAnd-bitwiseAndBitwiseAnd = Typed.TypedName (Core.Name "hydra.python.syntax.BitwiseAnd")---- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseAnd-bitwiseAndLhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm (Maybe Syntax.BitwiseAnd)-bitwiseAndLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseAnd-bitwiseAndRhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.ShiftExpression-bitwiseAndRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.BitwiseAnd-bitwiseAndWithLhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm (Maybe Syntax.BitwiseAnd) -> Typed.TypedTerm Syntax.BitwiseAnd-bitwiseAndWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.BitwiseAnd-bitwiseAndWithRhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BitwiseAnd-bitwiseAndWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseAnd"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.BitwiseOr-bitwiseOr :: Typed.TypedTerm (Maybe Syntax.BitwiseOr) -> Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseOr-bitwiseOr lhs rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.BitwiseOr-bitwiseOrBitwiseOr :: Typed.TypedName Syntax.BitwiseOr-bitwiseOrBitwiseOr = Typed.TypedName (Core.Name "hydra.python.syntax.BitwiseOr")---- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseOr-bitwiseOrLhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm (Maybe Syntax.BitwiseOr)-bitwiseOrLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseOr-bitwiseOrRhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.BitwiseXor-bitwiseOrRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.BitwiseOr-bitwiseOrWithLhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm (Maybe Syntax.BitwiseOr) -> Typed.TypedTerm Syntax.BitwiseOr-bitwiseOrWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.BitwiseOr-bitwiseOrWithRhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseOr-bitwiseOrWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseOr"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.BitwiseXor-bitwiseXor :: Typed.TypedTerm (Maybe Syntax.BitwiseXor) -> Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.BitwiseXor-bitwiseXor lhs rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.BitwiseXor-bitwiseXorBitwiseXor :: Typed.TypedName Syntax.BitwiseXor-bitwiseXorBitwiseXor = Typed.TypedName (Core.Name "hydra.python.syntax.BitwiseXor")---- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseXor-bitwiseXorLhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm (Maybe Syntax.BitwiseXor)-bitwiseXorLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseXor-bitwiseXorRhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseAnd-bitwiseXorRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.BitwiseXor-bitwiseXorWithLhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm (Maybe Syntax.BitwiseXor) -> Typed.TypedTerm Syntax.BitwiseXor-bitwiseXorWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.BitwiseXor-bitwiseXorWithRhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.BitwiseXor-bitwiseXorWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.BitwiseXor"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.Block-blockBlock :: Typed.TypedName Syntax.Block-blockBlock = Typed.TypedName (Core.Name "hydra.python.syntax.Block")---- | DSL injection for the indented variant of hydra.python.syntax.Block-blockIndented :: Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Block-blockIndented x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Block"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "indented"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Block-blockSimple :: Typed.TypedTerm [Syntax.SimpleStatement] -> Typed.TypedTerm Syntax.Block-blockSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Block"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.CapturePattern wrapper-capturePattern :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.CapturePattern-capturePattern x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.CapturePattern"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.CapturePattern-capturePatternCapturePattern :: Typed.TypedName Syntax.CapturePattern-capturePatternCapturePattern = Typed.TypedName (Core.Name "hydra.python.syntax.CapturePattern")---- | DSL constructor for hydra.python.syntax.CaseBlock-caseBlock :: Typed.TypedTerm Syntax.Patterns -> Typed.TypedTerm (Maybe Syntax.Guard) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CaseBlock-caseBlock patterns guard body =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "patterns"),-          Core.fieldTerm = (Typed.unTypedTerm patterns)},-        Core.Field {-          Core.fieldName = (Core.Name "guard"),-          Core.fieldTerm = (Typed.unTypedTerm guard)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the body field of hydra.python.syntax.CaseBlock-caseBlockBody :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Block-caseBlockBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.CaseBlock-caseBlockCaseBlock :: Typed.TypedName Syntax.CaseBlock-caseBlockCaseBlock = Typed.TypedName (Core.Name "hydra.python.syntax.CaseBlock")---- | DSL accessor for the guard field of hydra.python.syntax.CaseBlock-caseBlockGuard :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm (Maybe Syntax.Guard)-caseBlockGuard x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-        Core.projectionFieldName = (Core.Name "guard")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the patterns field of hydra.python.syntax.CaseBlock-caseBlockPatterns :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Patterns-caseBlockPatterns x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-        Core.projectionFieldName = (Core.Name "patterns")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the body field of hydra.python.syntax.CaseBlock-caseBlockWithBody :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CaseBlock-caseBlockWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "patterns"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-              Core.projectionFieldName = (Core.Name "patterns")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "guard"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-              Core.projectionFieldName = (Core.Name "guard")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the guard field of hydra.python.syntax.CaseBlock-caseBlockWithGuard :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm (Maybe Syntax.Guard) -> Typed.TypedTerm Syntax.CaseBlock-caseBlockWithGuard original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "patterns"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-              Core.projectionFieldName = (Core.Name "patterns")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "guard"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the patterns field of hydra.python.syntax.CaseBlock-caseBlockWithPatterns :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Patterns -> Typed.TypedTerm Syntax.CaseBlock-caseBlockWithPatterns original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "patterns"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "guard"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-              Core.projectionFieldName = (Core.Name "guard")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CaseBlock"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.ClassDefinition-classDefinition :: Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ClassDefinition-classDefinition decorators name typeParams arguments body =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "decorators"),-          Core.fieldTerm = (Typed.unTypedTerm decorators)},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Typed.unTypedTerm typeParams)},-        Core.Field {-          Core.fieldName = (Core.Name "arguments"),-          Core.fieldTerm = (Typed.unTypedTerm arguments)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the arguments field of hydra.python.syntax.ClassDefinition-classDefinitionArguments :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Args)-classDefinitionArguments x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-        Core.projectionFieldName = (Core.Name "arguments")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body field of hydra.python.syntax.ClassDefinition-classDefinitionBody :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Block-classDefinitionBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ClassDefinition-classDefinitionClassDefinition :: Typed.TypedName Syntax.ClassDefinition-classDefinitionClassDefinition = Typed.TypedName (Core.Name "hydra.python.syntax.ClassDefinition")---- | DSL accessor for the decorators field of hydra.python.syntax.ClassDefinition-classDefinitionDecorators :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators)-classDefinitionDecorators x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-        Core.projectionFieldName = (Core.Name "decorators")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.ClassDefinition-classDefinitionName :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Name-classDefinitionName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeParams field of hydra.python.syntax.ClassDefinition-classDefinitionTypeParams :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm [Syntax.TypeParameter]-classDefinitionTypeParams x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-        Core.projectionFieldName = (Core.Name "typeParams")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the arguments field of hydra.python.syntax.ClassDefinition-classDefinitionWithArguments :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithArguments original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "decorators"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "decorators")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "arguments"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the body field of hydra.python.syntax.ClassDefinition-classDefinitionWithBody :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "decorators"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "decorators")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "arguments"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "arguments")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the decorators field of hydra.python.syntax.ClassDefinition-classDefinitionWithDecorators :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithDecorators original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "decorators"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "arguments"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "arguments")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the name field of hydra.python.syntax.ClassDefinition-classDefinitionWithName :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "decorators"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "decorators")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "arguments"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "arguments")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeParams field of hydra.python.syntax.ClassDefinition-classDefinitionWithTypeParams :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.ClassDefinition-classDefinitionWithTypeParams original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "decorators"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "decorators")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "arguments"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "arguments")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassDefinition"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.ClassPattern-classPattern :: Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns) -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns) -> Typed.TypedTerm Syntax.ClassPattern-classPattern nameOrAttribute positionalPatterns keywordPatterns =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "nameOrAttribute"),-          Core.fieldTerm = (Typed.unTypedTerm nameOrAttribute)},-        Core.Field {-          Core.fieldName = (Core.Name "positionalPatterns"),-          Core.fieldTerm = (Typed.unTypedTerm positionalPatterns)},-        Core.Field {-          Core.fieldName = (Core.Name "keywordPatterns"),-          Core.fieldTerm = (Typed.unTypedTerm keywordPatterns)}]}))---- | DSL name token for hydra.python.syntax.ClassPattern-classPatternClassPattern :: Typed.TypedName Syntax.ClassPattern-classPatternClassPattern = Typed.TypedName (Core.Name "hydra.python.syntax.ClassPattern")---- | DSL accessor for the keywordPatterns field of hydra.python.syntax.ClassPattern-classPatternKeywordPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns)-classPatternKeywordPatterns x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-        Core.projectionFieldName = (Core.Name "keywordPatterns")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the nameOrAttribute field of hydra.python.syntax.ClassPattern-classPatternNameOrAttribute :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.NameOrAttribute-classPatternNameOrAttribute x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-        Core.projectionFieldName = (Core.Name "nameOrAttribute")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the positionalPatterns field of hydra.python.syntax.ClassPattern-classPatternPositionalPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns)-classPatternPositionalPatterns x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-        Core.projectionFieldName = (Core.Name "positionalPatterns")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the keywordPatterns field of hydra.python.syntax.ClassPattern-classPatternWithKeywordPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns) -> Typed.TypedTerm Syntax.ClassPattern-classPatternWithKeywordPatterns original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "nameOrAttribute"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-              Core.projectionFieldName = (Core.Name "nameOrAttribute")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "positionalPatterns"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-              Core.projectionFieldName = (Core.Name "positionalPatterns")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "keywordPatterns"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the nameOrAttribute field of hydra.python.syntax.ClassPattern-classPatternWithNameOrAttribute :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm Syntax.ClassPattern-classPatternWithNameOrAttribute original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "nameOrAttribute"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "positionalPatterns"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-              Core.projectionFieldName = (Core.Name "positionalPatterns")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "keywordPatterns"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-              Core.projectionFieldName = (Core.Name "keywordPatterns")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the positionalPatterns field of hydra.python.syntax.ClassPattern-classPatternWithPositionalPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns) -> Typed.TypedTerm Syntax.ClassPattern-classPatternWithPositionalPatterns original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "nameOrAttribute"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-              Core.projectionFieldName = (Core.Name "nameOrAttribute")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "positionalPatterns"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "keywordPatterns"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ClassPattern"),-              Core.projectionFieldName = (Core.Name "keywordPatterns")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the capture variant of hydra.python.syntax.ClosedPattern-closedPatternCapture :: Typed.TypedTerm Syntax.CapturePattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternCapture x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "capture"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the class variant of hydra.python.syntax.ClosedPattern-closedPatternClass :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternClass x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "class"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.ClosedPattern-closedPatternClosedPattern :: Typed.TypedName Syntax.ClosedPattern-closedPatternClosedPattern = Typed.TypedName (Core.Name "hydra.python.syntax.ClosedPattern")---- | DSL injection for the group variant of hydra.python.syntax.ClosedPattern-closedPatternGroup :: Typed.TypedTerm Syntax.GroupPattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternGroup x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "group"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the literal variant of hydra.python.syntax.ClosedPattern-closedPatternLiteral :: Typed.TypedTerm Syntax.LiteralExpression -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternLiteral x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "literal"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the mapping variant of hydra.python.syntax.ClosedPattern-closedPatternMapping :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternMapping x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "mapping"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the sequence variant of hydra.python.syntax.ClosedPattern-closedPatternSequence :: Typed.TypedTerm Syntax.SequencePattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternSequence x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "sequence"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the value variant of hydra.python.syntax.ClosedPattern-closedPatternValue :: Typed.TypedTerm Syntax.ValuePattern -> Typed.TypedTerm Syntax.ClosedPattern-closedPatternValue x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "value"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the wildcard variant of hydra.python.syntax.ClosedPattern-closedPatternWildcard :: Typed.TypedTerm Syntax.ClosedPattern-closedPatternWildcard =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ClosedPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "wildcard"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.CommaStarEtc-commaStarEtc :: Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.CommaStarEtc-commaStarEtc paramMaybeDefault keywords =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Typed.unTypedTerm keywords)}]}))---- | DSL name token for hydra.python.syntax.CommaStarEtc-commaStarEtcCommaStarEtc :: Typed.TypedName Syntax.CommaStarEtc-commaStarEtcCommaStarEtc = Typed.TypedName (Core.Name "hydra.python.syntax.CommaStarEtc")---- | DSL accessor for the keywords field of hydra.python.syntax.CommaStarEtc-commaStarEtcKeywords :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)-commaStarEtcKeywords x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),-        Core.projectionFieldName = (Core.Name "keywords")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.CommaStarEtc-commaStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]-commaStarEtcParamMaybeDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),-        Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the keywords field of hydra.python.syntax.CommaStarEtc-commaStarEtcWithKeywords :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.CommaStarEtc-commaStarEtcWithKeywords original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),-              Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.CommaStarEtc-commaStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.CommaStarEtc-commaStarEtcWithParamMaybeDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CommaStarEtc"),-              Core.projectionFieldName = (Core.Name "keywords")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPair :: Typed.TypedTerm Syntax.CompareOp -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPair operator rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Typed.unTypedTerm operator)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairCompareOpBitwiseOrPair :: Typed.TypedName Syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairCompareOpBitwiseOrPair = Typed.TypedName (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair")---- | DSL accessor for the operator field of hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairOperator :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.CompareOp-compareOpBitwiseOrPairOperator x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),-        Core.projectionFieldName = (Core.Name "operator")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairRhs :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.BitwiseOr-compareOpBitwiseOrPairRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the operator field of hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairWithOperator :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.CompareOp -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairWithOperator original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairWithRhs :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair-compareOpBitwiseOrPairWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),-              Core.projectionFieldName = (Core.Name "operator")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.CompareOp-compareOpCompareOp :: Typed.TypedName Syntax.CompareOp-compareOpCompareOp = Typed.TypedName (Core.Name "hydra.python.syntax.CompareOp")---- | DSL injection for the eq variant of hydra.python.syntax.CompareOp-compareOpEq :: Typed.TypedTerm Syntax.CompareOp-compareOpEq =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "eq"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the gt variant of hydra.python.syntax.CompareOp-compareOpGt :: Typed.TypedTerm Syntax.CompareOp-compareOpGt =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "gt"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the gte variant of hydra.python.syntax.CompareOp-compareOpGte :: Typed.TypedTerm Syntax.CompareOp-compareOpGte =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "gte"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the in variant of hydra.python.syntax.CompareOp-compareOpIn :: Typed.TypedTerm Syntax.CompareOp-compareOpIn =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "in"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the is variant of hydra.python.syntax.CompareOp-compareOpIs :: Typed.TypedTerm Syntax.CompareOp-compareOpIs =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "is"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the isnot variant of hydra.python.syntax.CompareOp-compareOpIsnot :: Typed.TypedTerm Syntax.CompareOp-compareOpIsnot =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "isnot"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the lt variant of hydra.python.syntax.CompareOp-compareOpLt :: Typed.TypedTerm Syntax.CompareOp-compareOpLt =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "lt"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the lte variant of hydra.python.syntax.CompareOp-compareOpLte :: Typed.TypedTerm Syntax.CompareOp-compareOpLte =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "lte"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the noteq variant of hydra.python.syntax.CompareOp-compareOpNoteq :: Typed.TypedTerm Syntax.CompareOp-compareOpNoteq =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "noteq"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the notin variant of hydra.python.syntax.CompareOp-compareOpNotin :: Typed.TypedTerm Syntax.CompareOp-compareOpNotin =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompareOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "notin"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.Comparison-comparison :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair] -> Typed.TypedTerm Syntax.Comparison-comparison lhs rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Comparison"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL name token for hydra.python.syntax.Comparison-comparisonComparison :: Typed.TypedName Syntax.Comparison-comparisonComparison = Typed.TypedName (Core.Name "hydra.python.syntax.Comparison")---- | DSL accessor for the lhs field of hydra.python.syntax.Comparison-comparisonLhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.BitwiseOr-comparisonLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Comparison"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.Comparison-comparisonRhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair]-comparisonRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Comparison"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.Comparison-comparisonWithLhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Comparison-comparisonWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Comparison"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Comparison"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.Comparison-comparisonWithRhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair] -> Typed.TypedTerm Syntax.Comparison-comparisonWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Comparison"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Comparison"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ComplexNumber-complexNumber :: Typed.TypedTerm Syntax.SignedRealNumber -> Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Syntax.ComplexNumber-complexNumber real plusOrMinus imaginary =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "real"),-          Core.fieldTerm = (Typed.unTypedTerm real)},-        Core.Field {-          Core.fieldName = (Core.Name "plusOrMinus"),-          Core.fieldTerm = (Typed.unTypedTerm plusOrMinus)},-        Core.Field {-          Core.fieldName = (Core.Name "imaginary"),-          Core.fieldTerm = (Typed.unTypedTerm imaginary)}]}))---- | DSL name token for hydra.python.syntax.ComplexNumber-complexNumberComplexNumber :: Typed.TypedName Syntax.ComplexNumber-complexNumberComplexNumber = Typed.TypedName (Core.Name "hydra.python.syntax.ComplexNumber")---- | DSL accessor for the imaginary field of hydra.python.syntax.ComplexNumber-complexNumberImaginary :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.ImaginaryNumber-complexNumberImaginary x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-        Core.projectionFieldName = (Core.Name "imaginary")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the plusOrMinus field of hydra.python.syntax.ComplexNumber-complexNumberPlusOrMinus :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.PlusOrMinus-complexNumberPlusOrMinus x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-        Core.projectionFieldName = (Core.Name "plusOrMinus")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the real field of hydra.python.syntax.ComplexNumber-complexNumberReal :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.SignedRealNumber-complexNumberReal x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-        Core.projectionFieldName = (Core.Name "real")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the imaginary field of hydra.python.syntax.ComplexNumber-complexNumberWithImaginary :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Syntax.ComplexNumber-complexNumberWithImaginary original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "real"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-              Core.projectionFieldName = (Core.Name "real")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "plusOrMinus"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-              Core.projectionFieldName = (Core.Name "plusOrMinus")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "imaginary"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the plusOrMinus field of hydra.python.syntax.ComplexNumber-complexNumberWithPlusOrMinus :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.ComplexNumber-complexNumberWithPlusOrMinus original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "real"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-              Core.projectionFieldName = (Core.Name "real")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "plusOrMinus"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "imaginary"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-              Core.projectionFieldName = (Core.Name "imaginary")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the real field of hydra.python.syntax.ComplexNumber-complexNumberWithReal :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.SignedRealNumber -> Typed.TypedTerm Syntax.ComplexNumber-complexNumberWithReal original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "real"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "plusOrMinus"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-              Core.projectionFieldName = (Core.Name "plusOrMinus")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "imaginary"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ComplexNumber"),-              Core.projectionFieldName = (Core.Name "imaginary")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the classDef variant of hydra.python.syntax.CompoundStatement-compoundStatementClassDef :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementClassDef x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "classDef"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.CompoundStatement-compoundStatementCompoundStatement :: Typed.TypedName Syntax.CompoundStatement-compoundStatementCompoundStatement = Typed.TypedName (Core.Name "hydra.python.syntax.CompoundStatement")---- | DSL injection for the for variant of hydra.python.syntax.CompoundStatement-compoundStatementFor :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementFor x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "for"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the function variant of hydra.python.syntax.CompoundStatement-compoundStatementFunction :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementFunction x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "function"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the if variant of hydra.python.syntax.CompoundStatement-compoundStatementIf :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementIf x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "if"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the match variant of hydra.python.syntax.CompoundStatement-compoundStatementMatch :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementMatch x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "match"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the try variant of hydra.python.syntax.CompoundStatement-compoundStatementTry :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementTry x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "try"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the while variant of hydra.python.syntax.CompoundStatement-compoundStatementWhile :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementWhile x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "while"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the with variant of hydra.python.syntax.CompoundStatement-compoundStatementWith :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.CompoundStatement-compoundStatementWith x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.CompoundStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "with"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.Conditional-conditional :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Conditional-conditional body if_ else_ =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Conditional"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)},-        Core.Field {-          Core.fieldName = (Core.Name "if"),-          Core.fieldTerm = (Typed.unTypedTerm if_)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm else_)}]}))---- | DSL accessor for the body field of hydra.python.syntax.Conditional-conditionalBody :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction-conditionalBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Conditional-conditionalConditional :: Typed.TypedName Syntax.Conditional-conditionalConditional = Typed.TypedName (Core.Name "hydra.python.syntax.Conditional")---- | DSL accessor for the else field of hydra.python.syntax.Conditional-conditionalElse :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression-conditionalElse x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),-        Core.projectionFieldName = (Core.Name "else")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the if field of hydra.python.syntax.Conditional-conditionalIf :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction-conditionalIf x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),-        Core.projectionFieldName = (Core.Name "if")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the body field of hydra.python.syntax.Conditional-conditionalWithBody :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Conditional-conditionalWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Conditional"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "if"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),-              Core.projectionFieldName = (Core.Name "if")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.Conditional-conditionalWithElse :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Conditional-conditionalWithElse original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Conditional"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "if"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),-              Core.projectionFieldName = (Core.Name "if")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the if field of hydra.python.syntax.Conditional-conditionalWithIf :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Conditional-conditionalWithIf original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Conditional"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "if"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Conditional"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.Conjunction wrapper-conjunction :: Typed.TypedTerm [Syntax.Inversion] -> Typed.TypedTerm Syntax.Conjunction-conjunction x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Conjunction"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Conjunction-conjunctionConjunction :: Typed.TypedName Syntax.Conjunction-conjunctionConjunction = Typed.TypedName (Core.Name "hydra.python.syntax.Conjunction")---- | DSL constructor for the hydra.python.syntax.Decorators wrapper-decorators :: Typed.TypedTerm [Syntax.NamedExpression] -> Typed.TypedTerm Syntax.Decorators-decorators x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Decorators"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Decorators-decoratorsDecorators :: Typed.TypedName Syntax.Decorators-decoratorsDecorators = Typed.TypedName (Core.Name "hydra.python.syntax.Decorators")---- | DSL constructor for the hydra.python.syntax.Default wrapper-default_ :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Default-default_ x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Default"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Default-defaultDefault :: Typed.TypedName Syntax.Default-defaultDefault = Typed.TypedName (Core.Name "hydra.python.syntax.Default")---- | DSL constructor for the hydra.python.syntax.DelStatement wrapper-delStatement :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm Syntax.DelStatement-delStatement x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.DelStatement"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DelStatement-delStatementDelStatement :: Typed.TypedName Syntax.DelStatement-delStatementDelStatement = Typed.TypedName (Core.Name "hydra.python.syntax.DelStatement")---- | DSL name token for hydra.python.syntax.DelTAtom-delTAtomDelTAtom :: Typed.TypedName Syntax.DelTAtom-delTAtomDelTAtom = Typed.TypedName (Core.Name "hydra.python.syntax.DelTAtom")---- | DSL injection for the name variant of hydra.python.syntax.DelTAtom-delTAtomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.DelTAtom-delTAtomName x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "name"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the target variant of hydra.python.syntax.DelTAtom-delTAtomTarget :: Typed.TypedTerm Syntax.DelTarget -> Typed.TypedTerm Syntax.DelTAtom-delTAtomTarget x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "target"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the targets variant of hydra.python.syntax.DelTAtom-delTAtomTargets :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm Syntax.DelTAtom-delTAtomTargets x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "targets"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the delTAtom variant of hydra.python.syntax.DelTarget-delTargetDelTAtom :: Typed.TypedTerm Syntax.DelTAtom -> Typed.TypedTerm Syntax.DelTarget-delTargetDelTAtom x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "delTAtom"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.DelTarget-delTargetDelTarget :: Typed.TypedName Syntax.DelTarget-delTargetDelTarget = Typed.TypedName (Core.Name "hydra.python.syntax.DelTarget")---- | DSL injection for the primaryAndName variant of hydra.python.syntax.DelTarget-delTargetPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.DelTarget-delTargetPrimaryAndName x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "primaryAndName"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.DelTarget-delTargetPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.DelTarget-delTargetPrimaryAndSlices x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.DelTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "primaryAndSlices"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.DelTargets wrapper-delTargets :: Typed.TypedTerm [Syntax.DelTarget] -> Typed.TypedTerm Syntax.DelTargets-delTargets x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.DelTargets"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DelTargets-delTargetsDelTargets :: Typed.TypedName Syntax.DelTargets-delTargetsDelTargets = Typed.TypedName (Core.Name "hydra.python.syntax.DelTargets")---- | DSL constructor for the hydra.python.syntax.Dict wrapper-dict :: Typed.TypedTerm [Syntax.DoubleStarredKvpair] -> Typed.TypedTerm Syntax.Dict-dict x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Dict"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Dict-dictDict :: Typed.TypedName Syntax.Dict-dictDict = Typed.TypedName (Core.Name "hydra.python.syntax.Dict")---- | DSL constructor for hydra.python.syntax.Dictcomp-dictcomp :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Dictcomp-dictcomp kvpair forIfClauses =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "kvpair"),-          Core.fieldTerm = (Typed.unTypedTerm kvpair)},-        Core.Field {-          Core.fieldName = (Core.Name "forIfClauses"),-          Core.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))---- | DSL name token for hydra.python.syntax.Dictcomp-dictcompDictcomp :: Typed.TypedName Syntax.Dictcomp-dictcompDictcomp = Typed.TypedName (Core.Name "hydra.python.syntax.Dictcomp")---- | DSL accessor for the forIfClauses field of hydra.python.syntax.Dictcomp-dictcompForIfClauses :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.ForIfClauses-dictcompForIfClauses x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),-        Core.projectionFieldName = (Core.Name "forIfClauses")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the kvpair field of hydra.python.syntax.Dictcomp-dictcompKvpair :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Kvpair-dictcompKvpair x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),-        Core.projectionFieldName = (Core.Name "kvpair")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the forIfClauses field of hydra.python.syntax.Dictcomp-dictcompWithForIfClauses :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Dictcomp-dictcompWithForIfClauses original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "kvpair"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),-              Core.projectionFieldName = (Core.Name "kvpair")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "forIfClauses"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the kvpair field of hydra.python.syntax.Dictcomp-dictcompWithKvpair :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Dictcomp-dictcompWithKvpair original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "kvpair"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "forIfClauses"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Dictcomp"),-              Core.projectionFieldName = (Core.Name "forIfClauses")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.Disjunction wrapper-disjunction :: Typed.TypedTerm [Syntax.Conjunction] -> Typed.TypedTerm Syntax.Disjunction-disjunction x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Disjunction"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Disjunction-disjunctionDisjunction :: Typed.TypedName Syntax.Disjunction-disjunctionDisjunction = Typed.TypedName (Core.Name "hydra.python.syntax.Disjunction")---- | DSL constructor for hydra.python.syntax.DottedAsName-dottedAsName :: Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.DottedAsName-dottedAsName name as =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.DottedAsName-dottedAsNameAs :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm (Maybe Syntax.Name)-dottedAsNameAs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),-        Core.projectionFieldName = (Core.Name "as")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DottedAsName-dottedAsNameDottedAsName :: Typed.TypedName Syntax.DottedAsName-dottedAsNameDottedAsName = Typed.TypedName (Core.Name "hydra.python.syntax.DottedAsName")---- | DSL accessor for the name field of hydra.python.syntax.DottedAsName-dottedAsNameName :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm Syntax.DottedName-dottedAsNameName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.DottedAsName-dottedAsNameWithAs :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.DottedAsName-dottedAsNameWithAs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.DottedAsName-dottedAsNameWithName :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm Syntax.DottedAsName-dottedAsNameWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.DottedAsName"),-              Core.projectionFieldName = (Core.Name "as")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.DottedName wrapper-dottedName :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.DottedName-dottedName x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.DottedName"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DottedName-dottedNameDottedName :: Typed.TypedName Syntax.DottedName-dottedNameDottedName = Typed.TypedName (Core.Name "hydra.python.syntax.DottedName")---- | DSL constructor for the hydra.python.syntax.DoubleStarPattern wrapper-doubleStarPattern :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.DoubleStarPattern-doubleStarPattern x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.DoubleStarPattern"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DoubleStarPattern-doubleStarPatternDoubleStarPattern :: Typed.TypedName Syntax.DoubleStarPattern-doubleStarPatternDoubleStarPattern = Typed.TypedName (Core.Name "hydra.python.syntax.DoubleStarPattern")---- | DSL constructor for hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.DoubleStarTypeParameter-doubleStarTypeParameter name default_ =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the default field of hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterDefault :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)-doubleStarTypeParameterDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),-        Core.projectionFieldName = (Core.Name "default")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterDoubleStarTypeParameter :: Typed.TypedName Syntax.DoubleStarTypeParameter-doubleStarTypeParameterDoubleStarTypeParameter = Typed.TypedName (Core.Name "hydra.python.syntax.DoubleStarTypeParameter")---- | DSL accessor for the name field of hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterName :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.Name-doubleStarTypeParameterName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterWithDefault :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.DoubleStarTypeParameter-doubleStarTypeParameterWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.DoubleStarTypeParameter-doubleStarTypeParameterWithName :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.DoubleStarTypeParameter-doubleStarTypeParameterWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarTypeParameter"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL name token for hydra.python.syntax.DoubleStarredKvpair-doubleStarredKvpairDoubleStarredKvpair :: Typed.TypedName Syntax.DoubleStarredKvpair-doubleStarredKvpairDoubleStarredKvpair = Typed.TypedName (Core.Name "hydra.python.syntax.DoubleStarredKvpair")---- | DSL injection for the pair variant of hydra.python.syntax.DoubleStarredKvpair-doubleStarredKvpairPair :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.DoubleStarredKvpair-doubleStarredKvpairPair x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarredKvpair"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "pair"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starred variant of hydra.python.syntax.DoubleStarredKvpair-doubleStarredKvpairStarred :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.DoubleStarredKvpair-doubleStarredKvpairStarred x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.DoubleStarredKvpair"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starred"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Eval wrapper-eval :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Eval-eval x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Eval"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Eval-evalEval :: Typed.TypedName Syntax.Eval-evalEval = Typed.TypedName (Core.Name "hydra.python.syntax.Eval")---- | DSL constructor for hydra.python.syntax.ExceptBlock-exceptBlock :: Typed.TypedTerm (Maybe Syntax.ExceptExpression) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptBlock-exceptBlock expression body =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm expression)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the body field of hydra.python.syntax.ExceptBlock-exceptBlockBody :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm Syntax.Block-exceptBlockBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ExceptBlock-exceptBlockExceptBlock :: Typed.TypedName Syntax.ExceptBlock-exceptBlockExceptBlock = Typed.TypedName (Core.Name "hydra.python.syntax.ExceptBlock")---- | DSL accessor for the expression field of hydra.python.syntax.ExceptBlock-exceptBlockExpression :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm (Maybe Syntax.ExceptExpression)-exceptBlockExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),-        Core.projectionFieldName = (Core.Name "expression")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the body field of hydra.python.syntax.ExceptBlock-exceptBlockWithBody :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptBlock-exceptBlockWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expression field of hydra.python.syntax.ExceptBlock-exceptBlockWithExpression :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm (Maybe Syntax.ExceptExpression) -> Typed.TypedTerm Syntax.ExceptBlock-exceptBlockWithExpression original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptBlock"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.ExceptExpression-exceptExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptExpression-exceptExpression expression as =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm expression)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.ExceptExpression-exceptExpressionAs :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm (Maybe Syntax.Name)-exceptExpressionAs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),-        Core.projectionFieldName = (Core.Name "as")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ExceptExpression-exceptExpressionExceptExpression :: Typed.TypedName Syntax.ExceptExpression-exceptExpressionExceptExpression = Typed.TypedName (Core.Name "hydra.python.syntax.ExceptExpression")---- | DSL accessor for the expression field of hydra.python.syntax.ExceptExpression-exceptExpressionExpression :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm Syntax.Expression-exceptExpressionExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),-        Core.projectionFieldName = (Core.Name "expression")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.ExceptExpression-exceptExpressionWithAs :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptExpression-exceptExpressionWithAs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expression field of hydra.python.syntax.ExceptExpression-exceptExpressionWithExpression :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ExceptExpression-exceptExpressionWithExpression original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptExpression"),-              Core.projectionFieldName = (Core.Name "as")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.ExceptStarBlock-exceptStarBlock :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptStarBlock-exceptStarBlock expression as body =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm expression)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm as)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the as field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockAs :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm (Maybe Syntax.Name)-exceptStarBlockAs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-        Core.projectionFieldName = (Core.Name "as")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockBody :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Block-exceptStarBlockBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ExceptStarBlock-exceptStarBlockExceptStarBlock :: Typed.TypedName Syntax.ExceptStarBlock-exceptStarBlockExceptStarBlock = Typed.TypedName (Core.Name "hydra.python.syntax.ExceptStarBlock")---- | DSL accessor for the expression field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockExpression :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Expression-exceptStarBlockExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-        Core.projectionFieldName = (Core.Name "expression")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockWithAs :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptStarBlock-exceptStarBlockWithAs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the body field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockWithBody :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptStarBlock-exceptStarBlockWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-              Core.projectionFieldName = (Core.Name "as")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expression field of hydra.python.syntax.ExceptStarBlock-exceptStarBlockWithExpression :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ExceptStarBlock-exceptStarBlockWithExpression original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-              Core.projectionFieldName = (Core.Name "as")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ExceptStarBlock"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the conditional variant of hydra.python.syntax.Expression-expressionConditional :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression-expressionConditional x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Expression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "conditional"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Expression-expressionExpression :: Typed.TypedName Syntax.Expression-expressionExpression = Typed.TypedName (Core.Name "hydra.python.syntax.Expression")---- | DSL injection for the lambda variant of hydra.python.syntax.Expression-expressionLambda :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression-expressionLambda x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Expression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "lambda"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Expression-expressionSimple :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Expression-expressionSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Expression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the complement variant of hydra.python.syntax.Factor-factorComplement :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor-factorComplement x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Factor"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "complement"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Factor-factorFactor :: Typed.TypedName Syntax.Factor-factorFactor = Typed.TypedName (Core.Name "hydra.python.syntax.Factor")---- | DSL injection for the negative variant of hydra.python.syntax.Factor-factorNegative :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor-factorNegative x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Factor"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "negative"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the positive variant of hydra.python.syntax.Factor-factorPositive :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor-factorPositive x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Factor"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "positive"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Factor-factorSimple :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.Factor-factorSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Factor"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.File wrapper-file :: Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm Syntax.File-file x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.File"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.File-fileFile :: Typed.TypedName Syntax.File-fileFile = Typed.TypedName (Core.Name "hydra.python.syntax.File")---- | DSL constructor for hydra.python.syntax.ForIfClause-forIfClause :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm [Syntax.Disjunction] -> Typed.TypedTerm Syntax.ForIfClause-forIfClause async targets in_ ifs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Typed.unTypedTerm async)},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Typed.unTypedTerm targets)},-        Core.Field {-          Core.fieldName = (Core.Name "in"),-          Core.fieldTerm = (Typed.unTypedTerm in_)},-        Core.Field {-          Core.fieldName = (Core.Name "ifs"),-          Core.fieldTerm = (Typed.unTypedTerm ifs)}]}))---- | DSL accessor for the async field of hydra.python.syntax.ForIfClause-forIfClauseAsync :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Bool-forIfClauseAsync x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-        Core.projectionFieldName = (Core.Name "async")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ForIfClause-forIfClauseForIfClause :: Typed.TypedName Syntax.ForIfClause-forIfClauseForIfClause = Typed.TypedName (Core.Name "hydra.python.syntax.ForIfClause")---- | DSL accessor for the ifs field of hydra.python.syntax.ForIfClause-forIfClauseIfs :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.Disjunction]-forIfClauseIfs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-        Core.projectionFieldName = (Core.Name "ifs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the in field of hydra.python.syntax.ForIfClause-forIfClauseIn :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Syntax.Disjunction-forIfClauseIn x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-        Core.projectionFieldName = (Core.Name "in")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the targets field of hydra.python.syntax.ForIfClause-forIfClauseTargets :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.StarTarget]-forIfClauseTargets x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-        Core.projectionFieldName = (Core.Name "targets")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the async field of hydra.python.syntax.ForIfClause-forIfClauseWithAsync :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ForIfClause-forIfClauseWithAsync original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "in"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "in")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "ifs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "ifs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the ifs field of hydra.python.syntax.ForIfClause-forIfClauseWithIfs :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.Disjunction] -> Typed.TypedTerm Syntax.ForIfClause-forIfClauseWithIfs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "in"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "in")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "ifs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the in field of hydra.python.syntax.ForIfClause-forIfClauseWithIn :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.ForIfClause-forIfClauseWithIn original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "in"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "ifs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "ifs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the targets field of hydra.python.syntax.ForIfClause-forIfClauseWithTargets :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.ForIfClause-forIfClauseWithTargets original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "in"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "in")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "ifs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForIfClause"),-              Core.projectionFieldName = (Core.Name "ifs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.ForIfClauses wrapper-forIfClauses :: Typed.TypedTerm [Syntax.ForIfClause] -> Typed.TypedTerm Syntax.ForIfClauses-forIfClauses x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ForIfClauses"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ForIfClauses-forIfClausesForIfClauses :: Typed.TypedName Syntax.ForIfClauses-forIfClausesForIfClauses = Typed.TypedName (Core.Name "hydra.python.syntax.ForIfClauses")---- | DSL constructor for hydra.python.syntax.ForStatement-forStatement :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.ForStatement-forStatement async targets expressions typeComment body else_ =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Typed.unTypedTerm async)},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Typed.unTypedTerm targets)},-        Core.Field {-          Core.fieldName = (Core.Name "expressions"),-          Core.fieldTerm = (Typed.unTypedTerm expressions)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm typeComment)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm else_)}]}))---- | DSL accessor for the async field of hydra.python.syntax.ForStatement-forStatementAsync :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Bool-forStatementAsync x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-        Core.projectionFieldName = (Core.Name "async")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body field of hydra.python.syntax.ForStatement-forStatementBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Block-forStatementBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the else field of hydra.python.syntax.ForStatement-forStatementElse :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.Block)-forStatementElse x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-        Core.projectionFieldName = (Core.Name "else")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the expressions field of hydra.python.syntax.ForStatement-forStatementExpressions :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarExpression]-forStatementExpressions x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-        Core.projectionFieldName = (Core.Name "expressions")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ForStatement-forStatementForStatement :: Typed.TypedName Syntax.ForStatement-forStatementForStatement = Typed.TypedName (Core.Name "hydra.python.syntax.ForStatement")---- | DSL accessor for the targets field of hydra.python.syntax.ForStatement-forStatementTargets :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarTarget]-forStatementTargets x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-        Core.projectionFieldName = (Core.Name "targets")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeComment field of hydra.python.syntax.ForStatement-forStatementTypeComment :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment)-forStatementTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-        Core.projectionFieldName = (Core.Name "typeComment")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the async field of hydra.python.syntax.ForStatement-forStatementWithAsync :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ForStatement-forStatementWithAsync original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "expressions"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "expressions")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the body field of hydra.python.syntax.ForStatement-forStatementWithBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ForStatement-forStatementWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "expressions"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "expressions")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.ForStatement-forStatementWithElse :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.ForStatement-forStatementWithElse original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "expressions"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "expressions")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expressions field of hydra.python.syntax.ForStatement-forStatementWithExpressions :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.ForStatement-forStatementWithExpressions original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "expressions"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the targets field of hydra.python.syntax.ForStatement-forStatementWithTargets :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.ForStatement-forStatementWithTargets original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "expressions"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "expressions")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ForStatement-forStatementWithTypeComment :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ForStatement-forStatementWithTypeComment original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "expressions"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "expressions")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ForStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.FuncTypeComment wrapper-funcTypeComment :: Typed.TypedTerm Syntax.TypeComment -> Typed.TypedTerm Syntax.FuncTypeComment-funcTypeComment x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.FuncTypeComment"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.FuncTypeComment-funcTypeCommentFuncTypeComment :: Typed.TypedName Syntax.FuncTypeComment-funcTypeCommentFuncTypeComment = Typed.TypedName (Core.Name "hydra.python.syntax.FuncTypeComment")---- | DSL constructor for hydra.python.syntax.FunctionDefRaw-functionDefRaw :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe Syntax.Parameters) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRaw async name typeParams params returnType funcTypeComment block =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Typed.unTypedTerm async)},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Typed.unTypedTerm typeParams)},-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Typed.unTypedTerm params)},-        Core.Field {-          Core.fieldName = (Core.Name "returnType"),-          Core.fieldTerm = (Typed.unTypedTerm returnType)},-        Core.Field {-          Core.fieldName = (Core.Name "funcTypeComment"),-          Core.fieldTerm = (Typed.unTypedTerm funcTypeComment)},-        Core.Field {-          Core.fieldName = (Core.Name "block"),-          Core.fieldTerm = (Typed.unTypedTerm block)}]}))---- | DSL accessor for the async field of hydra.python.syntax.FunctionDefRaw-functionDefRawAsync :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Bool-functionDefRawAsync x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-        Core.projectionFieldName = (Core.Name "async")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the block field of hydra.python.syntax.FunctionDefRaw-functionDefRawBlock :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Block-functionDefRawBlock x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-        Core.projectionFieldName = (Core.Name "block")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the funcTypeComment field of hydra.python.syntax.FunctionDefRaw-functionDefRawFuncTypeComment :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment)-functionDefRawFuncTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-        Core.projectionFieldName = (Core.Name "funcTypeComment")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.FunctionDefRaw-functionDefRawFunctionDefRaw :: Typed.TypedName Syntax.FunctionDefRaw-functionDefRawFunctionDefRaw = Typed.TypedName (Core.Name "hydra.python.syntax.FunctionDefRaw")---- | DSL accessor for the name field of hydra.python.syntax.FunctionDefRaw-functionDefRawName :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Name-functionDefRawName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the params field of hydra.python.syntax.FunctionDefRaw-functionDefRawParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Parameters)-functionDefRawParams x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-        Core.projectionFieldName = (Core.Name "params")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the returnType field of hydra.python.syntax.FunctionDefRaw-functionDefRawReturnType :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Expression)-functionDefRawReturnType x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-        Core.projectionFieldName = (Core.Name "returnType")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeParams field of hydra.python.syntax.FunctionDefRaw-functionDefRawTypeParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm [Syntax.TypeParameter]-functionDefRawTypeParams x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-        Core.projectionFieldName = (Core.Name "typeParams")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the async field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithAsync :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithAsync original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "params")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "returnType"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "returnType")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "funcTypeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "funcTypeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "block"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "block")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the block field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithBlock :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithBlock original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "params")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "returnType"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "returnType")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "funcTypeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "funcTypeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "block"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the funcTypeComment field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithFuncTypeComment :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment) -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithFuncTypeComment original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "params")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "returnType"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "returnType")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "funcTypeComment"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "block"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "block")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the name field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithName :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "params")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "returnType"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "returnType")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "funcTypeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "funcTypeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "block"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "block")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the params field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Parameters) -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithParams original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "returnType"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "returnType")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "funcTypeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "funcTypeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "block"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "block")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the returnType field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithReturnType :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithReturnType original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "params")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "returnType"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "funcTypeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "funcTypeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "block"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "block")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeParams field of hydra.python.syntax.FunctionDefRaw-functionDefRawWithTypeParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefRawWithTypeParams original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "params")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "returnType"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "returnType")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "funcTypeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "funcTypeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "block"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefRaw"),-              Core.projectionFieldName = (Core.Name "block")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.FunctionDefinition-functionDefinition :: Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.FunctionDefinition-functionDefinition decorators raw =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "decorators"),-          Core.fieldTerm = (Typed.unTypedTerm decorators)},-        Core.Field {-          Core.fieldName = (Core.Name "raw"),-          Core.fieldTerm = (Typed.unTypedTerm raw)}]}))---- | DSL accessor for the decorators field of hydra.python.syntax.FunctionDefinition-functionDefinitionDecorators :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators)-functionDefinitionDecorators x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),-        Core.projectionFieldName = (Core.Name "decorators")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.FunctionDefinition-functionDefinitionFunctionDefinition :: Typed.TypedName Syntax.FunctionDefinition-functionDefinitionFunctionDefinition = Typed.TypedName (Core.Name "hydra.python.syntax.FunctionDefinition")---- | DSL accessor for the raw field of hydra.python.syntax.FunctionDefinition-functionDefinitionRaw :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.FunctionDefRaw-functionDefinitionRaw x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),-        Core.projectionFieldName = (Core.Name "raw")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the decorators field of hydra.python.syntax.FunctionDefinition-functionDefinitionWithDecorators :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.FunctionDefinition-functionDefinitionWithDecorators original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "decorators"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "raw"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),-              Core.projectionFieldName = (Core.Name "raw")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the raw field of hydra.python.syntax.FunctionDefinition-functionDefinitionWithRaw :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.FunctionDefinition-functionDefinitionWithRaw original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "decorators"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.FunctionDefinition"),-              Core.projectionFieldName = (Core.Name "decorators")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "raw"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.Genexp-genexp :: Typed.TypedTerm Syntax.GenexpHead -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Genexp-genexp head tail =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Genexp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "head"),-          Core.fieldTerm = (Typed.unTypedTerm head)},-        Core.Field {-          Core.fieldName = (Core.Name "tail"),-          Core.fieldTerm = (Typed.unTypedTerm tail)}]}))---- | DSL name token for hydra.python.syntax.Genexp-genexpGenexp :: Typed.TypedName Syntax.Genexp-genexpGenexp = Typed.TypedName (Core.Name "hydra.python.syntax.Genexp")---- | DSL accessor for the head field of hydra.python.syntax.Genexp-genexpHead :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.GenexpHead-genexpHead x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Genexp"),-        Core.projectionFieldName = (Core.Name "head")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL injection for the assignment variant of hydra.python.syntax.GenexpHead-genexpHeadAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.GenexpHead-genexpHeadAssignment x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.GenexpHead"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "assignment"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the expression variant of hydra.python.syntax.GenexpHead-genexpHeadExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.GenexpHead-genexpHeadExpression x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.GenexpHead"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "expression"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.GenexpHead-genexpHeadGenexpHead :: Typed.TypedName Syntax.GenexpHead-genexpHeadGenexpHead = Typed.TypedName (Core.Name "hydra.python.syntax.GenexpHead")---- | DSL accessor for the tail field of hydra.python.syntax.Genexp-genexpTail :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.ForIfClauses-genexpTail x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Genexp"),-        Core.projectionFieldName = (Core.Name "tail")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the head field of hydra.python.syntax.Genexp-genexpWithHead :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.GenexpHead -> Typed.TypedTerm Syntax.Genexp-genexpWithHead original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Genexp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "head"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "tail"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Genexp"),-              Core.projectionFieldName = (Core.Name "tail")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the tail field of hydra.python.syntax.Genexp-genexpWithTail :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Genexp-genexpWithTail original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Genexp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "head"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Genexp"),-              Core.projectionFieldName = (Core.Name "head")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "tail"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the expression variant of hydra.python.syntax.Group-groupExpression :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Group-groupExpression x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Group"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "expression"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Group-groupGroup :: Typed.TypedName Syntax.Group-groupGroup = Typed.TypedName (Core.Name "hydra.python.syntax.Group")---- | DSL constructor for the hydra.python.syntax.GroupPattern wrapper-groupPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.GroupPattern-groupPattern x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.GroupPattern"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.GroupPattern-groupPatternGroupPattern :: Typed.TypedName Syntax.GroupPattern-groupPatternGroupPattern = Typed.TypedName (Core.Name "hydra.python.syntax.GroupPattern")---- | DSL injection for the yield variant of hydra.python.syntax.Group-groupYield :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.Group-groupYield x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Group"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "yield"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Guard wrapper-guard :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Guard-guard x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Guard"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Guard-guardGuard :: Typed.TypedName Syntax.Guard-guardGuard = Typed.TypedName (Core.Name "hydra.python.syntax.Guard")---- | DSL constructor for hydra.python.syntax.IfStatement-ifStatement :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.IfTail) -> Typed.TypedTerm Syntax.IfStatement-ifStatement condition body continuation =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "condition"),-          Core.fieldTerm = (Typed.unTypedTerm condition)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)},-        Core.Field {-          Core.fieldName = (Core.Name "continuation"),-          Core.fieldTerm = (Typed.unTypedTerm continuation)}]}))---- | DSL accessor for the body field of hydra.python.syntax.IfStatement-ifStatementBody :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.Block-ifStatementBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the condition field of hydra.python.syntax.IfStatement-ifStatementCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.NamedExpression-ifStatementCondition x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-        Core.projectionFieldName = (Core.Name "condition")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the continuation field of hydra.python.syntax.IfStatement-ifStatementContinuation :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm (Maybe Syntax.IfTail)-ifStatementContinuation x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-        Core.projectionFieldName = (Core.Name "continuation")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.IfStatement-ifStatementIfStatement :: Typed.TypedName Syntax.IfStatement-ifStatementIfStatement = Typed.TypedName (Core.Name "hydra.python.syntax.IfStatement")---- | DSL updater for the body field of hydra.python.syntax.IfStatement-ifStatementWithBody :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.IfStatement-ifStatementWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "condition"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-              Core.projectionFieldName = (Core.Name "condition")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "continuation"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-              Core.projectionFieldName = (Core.Name "continuation")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the condition field of hydra.python.syntax.IfStatement-ifStatementWithCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.IfStatement-ifStatementWithCondition original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "condition"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "continuation"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-              Core.projectionFieldName = (Core.Name "continuation")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the continuation field of hydra.python.syntax.IfStatement-ifStatementWithContinuation :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm (Maybe Syntax.IfTail) -> Typed.TypedTerm Syntax.IfStatement-ifStatementWithContinuation original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "condition"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-              Core.projectionFieldName = (Core.Name "condition")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.IfStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "continuation"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the elif variant of hydra.python.syntax.IfTail-ifTailElif :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.IfTail-ifTailElif x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.IfTail"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "elif"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the else variant of hydra.python.syntax.IfTail-ifTailElse :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.IfTail-ifTailElse x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.IfTail"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "else"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.IfTail-ifTailIfTail :: Typed.TypedName Syntax.IfTail-ifTailIfTail = Typed.TypedName (Core.Name "hydra.python.syntax.IfTail")---- | DSL constructor for the hydra.python.syntax.ImaginaryNumber wrapper-imaginaryNumber :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.ImaginaryNumber-imaginaryNumber x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ImaginaryNumber"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImaginaryNumber-imaginaryNumberImaginaryNumber :: Typed.TypedName Syntax.ImaginaryNumber-imaginaryNumberImaginaryNumber = Typed.TypedName (Core.Name "hydra.python.syntax.ImaginaryNumber")---- | DSL constructor for hydra.python.syntax.ImportFrom-importFrom :: Typed.TypedTerm [Syntax.RelativeImportPrefix] -> Typed.TypedTerm (Maybe Syntax.DottedName) -> Typed.TypedTerm Syntax.ImportFromTargets -> Typed.TypedTerm Syntax.ImportFrom-importFrom prefixes dottedName targets =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "prefixes"),-          Core.fieldTerm = (Typed.unTypedTerm prefixes)},-        Core.Field {-          Core.fieldName = (Core.Name "dottedName"),-          Core.fieldTerm = (Typed.unTypedTerm dottedName)},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Typed.unTypedTerm targets)}]}))---- | DSL constructor for hydra.python.syntax.ImportFromAsName-importFromAsName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ImportFromAsName-importFromAsName name as =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.ImportFromAsName-importFromAsNameAs :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm (Maybe Syntax.Name)-importFromAsNameAs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),-        Core.projectionFieldName = (Core.Name "as")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImportFromAsName-importFromAsNameImportFromAsName :: Typed.TypedName Syntax.ImportFromAsName-importFromAsNameImportFromAsName = Typed.TypedName (Core.Name "hydra.python.syntax.ImportFromAsName")---- | DSL accessor for the name field of hydra.python.syntax.ImportFromAsName-importFromAsNameName :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm Syntax.Name-importFromAsNameName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.ImportFromAsName-importFromAsNameWithAs :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ImportFromAsName-importFromAsNameWithAs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.ImportFromAsName-importFromAsNameWithName :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ImportFromAsName-importFromAsNameWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFromAsName"),-              Core.projectionFieldName = (Core.Name "as")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL accessor for the dottedName field of hydra.python.syntax.ImportFrom-importFromDottedName :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm (Maybe Syntax.DottedName)-importFromDottedName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-        Core.projectionFieldName = (Core.Name "dottedName")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImportFrom-importFromImportFrom :: Typed.TypedName Syntax.ImportFrom-importFromImportFrom = Typed.TypedName (Core.Name "hydra.python.syntax.ImportFrom")---- | DSL accessor for the prefixes field of hydra.python.syntax.ImportFrom-importFromPrefixes :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm [Syntax.RelativeImportPrefix]-importFromPrefixes x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-        Core.projectionFieldName = (Core.Name "prefixes")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the targets field of hydra.python.syntax.ImportFrom-importFromTargets :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportFromTargets-importFromTargets x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-        Core.projectionFieldName = (Core.Name "targets")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImportFromTargets-importFromTargetsImportFromTargets :: Typed.TypedName Syntax.ImportFromTargets-importFromTargetsImportFromTargets = Typed.TypedName (Core.Name "hydra.python.syntax.ImportFromTargets")---- | DSL injection for the parens variant of hydra.python.syntax.ImportFromTargets-importFromTargetsParens :: Typed.TypedTerm [Syntax.ImportFromAsName] -> Typed.TypedTerm Syntax.ImportFromTargets-importFromTargetsParens x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportFromTargets"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "parens"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.ImportFromTargets-importFromTargetsSimple :: Typed.TypedTerm [Syntax.ImportFromAsName] -> Typed.TypedTerm Syntax.ImportFromTargets-importFromTargetsSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportFromTargets"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.ImportFromTargets-importFromTargetsStar :: Typed.TypedTerm Syntax.ImportFromTargets-importFromTargetsStar =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportFromTargets"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "star"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL updater for the dottedName field of hydra.python.syntax.ImportFrom-importFromWithDottedName :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm (Maybe Syntax.DottedName) -> Typed.TypedTerm Syntax.ImportFrom-importFromWithDottedName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "prefixes"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-              Core.projectionFieldName = (Core.Name "prefixes")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "dottedName"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the prefixes field of hydra.python.syntax.ImportFrom-importFromWithPrefixes :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm [Syntax.RelativeImportPrefix] -> Typed.TypedTerm Syntax.ImportFrom-importFromWithPrefixes original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "prefixes"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "dottedName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-              Core.projectionFieldName = (Core.Name "dottedName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the targets field of hydra.python.syntax.ImportFrom-importFromWithTargets :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportFromTargets -> Typed.TypedTerm Syntax.ImportFrom-importFromWithTargets original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "prefixes"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-              Core.projectionFieldName = (Core.Name "prefixes")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "dottedName"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ImportFrom"),-              Core.projectionFieldName = (Core.Name "dottedName")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.ImportName wrapper-importName :: Typed.TypedTerm [Syntax.DottedAsName] -> Typed.TypedTerm Syntax.ImportName-importName x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ImportName"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ImportName-importNameImportName :: Typed.TypedName Syntax.ImportName-importNameImportName = Typed.TypedName (Core.Name "hydra.python.syntax.ImportName")---- | DSL injection for the from variant of hydra.python.syntax.ImportStatement-importStatementFrom :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportStatement-importStatementFrom x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "from"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.ImportStatement-importStatementImportStatement :: Typed.TypedName Syntax.ImportStatement-importStatementImportStatement = Typed.TypedName (Core.Name "hydra.python.syntax.ImportStatement")---- | DSL injection for the name variant of hydra.python.syntax.ImportStatement-importStatementName :: Typed.TypedTerm Syntax.ImportName -> Typed.TypedTerm Syntax.ImportStatement-importStatementName x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ImportStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "name"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Interactive wrapper-interactive :: Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.Interactive-interactive x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Interactive"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Interactive-interactiveInteractive :: Typed.TypedName Syntax.Interactive-interactiveInteractive = Typed.TypedName (Core.Name "hydra.python.syntax.Interactive")---- | DSL name token for hydra.python.syntax.Inversion-inversionInversion :: Typed.TypedName Syntax.Inversion-inversionInversion = Typed.TypedName (Core.Name "hydra.python.syntax.Inversion")---- | DSL injection for the not variant of hydra.python.syntax.Inversion-inversionNot :: Typed.TypedTerm Syntax.Inversion -> Typed.TypedTerm Syntax.Inversion-inversionNot x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Inversion"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "not"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Inversion-inversionSimple :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.Inversion-inversionSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Inversion"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.ItemsPattern wrapper-itemsPattern :: Typed.TypedTerm [Syntax.KeyValuePattern] -> Typed.TypedTerm Syntax.ItemsPattern-itemsPattern x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ItemsPattern"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ItemsPattern-itemsPatternItemsPattern :: Typed.TypedName Syntax.ItemsPattern-itemsPatternItemsPattern = Typed.TypedName (Core.Name "hydra.python.syntax.ItemsPattern")---- | DSL constructor for hydra.python.syntax.KeyValuePattern-keyValuePattern :: Typed.TypedTerm Syntax.LiteralExpressionOrAttribute -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeyValuePattern-keyValuePattern key value =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "key"),-          Core.fieldTerm = (Typed.unTypedTerm key)},-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Typed.unTypedTerm value)}]}))---- | DSL accessor for the key field of hydra.python.syntax.KeyValuePattern-keyValuePatternKey :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute-keyValuePatternKey x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),-        Core.projectionFieldName = (Core.Name "key")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.KeyValuePattern-keyValuePatternKeyValuePattern :: Typed.TypedName Syntax.KeyValuePattern-keyValuePatternKeyValuePattern = Typed.TypedName (Core.Name "hydra.python.syntax.KeyValuePattern")---- | DSL accessor for the value field of hydra.python.syntax.KeyValuePattern-keyValuePatternValue :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.Pattern-keyValuePatternValue x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),-        Core.projectionFieldName = (Core.Name "value")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the key field of hydra.python.syntax.KeyValuePattern-keyValuePatternWithKey :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute -> Typed.TypedTerm Syntax.KeyValuePattern-keyValuePatternWithKey original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "key"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),-              Core.projectionFieldName = (Core.Name "value")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the value field of hydra.python.syntax.KeyValuePattern-keyValuePatternWithValue :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeyValuePattern-keyValuePatternWithValue original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "key"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeyValuePattern"),-              Core.projectionFieldName = (Core.Name "key")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.KeywordPattern-keywordPattern :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeywordPattern-keywordPattern name pattern =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "pattern"),-          Core.fieldTerm = (Typed.unTypedTerm pattern)}]}))---- | DSL name token for hydra.python.syntax.KeywordPattern-keywordPatternKeywordPattern :: Typed.TypedName Syntax.KeywordPattern-keywordPatternKeywordPattern = Typed.TypedName (Core.Name "hydra.python.syntax.KeywordPattern")---- | DSL accessor for the name field of hydra.python.syntax.KeywordPattern-keywordPatternName :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Name-keywordPatternName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the pattern field of hydra.python.syntax.KeywordPattern-keywordPatternPattern :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Pattern-keywordPatternPattern x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),-        Core.projectionFieldName = (Core.Name "pattern")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the name field of hydra.python.syntax.KeywordPattern-keywordPatternWithName :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.KeywordPattern-keywordPatternWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "pattern"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),-              Core.projectionFieldName = (Core.Name "pattern")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the pattern field of hydra.python.syntax.KeywordPattern-keywordPatternWithPattern :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeywordPattern-keywordPatternWithPattern original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.KeywordPattern"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "pattern"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.KeywordPatterns wrapper-keywordPatterns :: Typed.TypedTerm [Syntax.KeywordPattern] -> Typed.TypedTerm Syntax.KeywordPatterns-keywordPatterns x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.KeywordPatterns"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.KeywordPatterns-keywordPatternsKeywordPatterns :: Typed.TypedName Syntax.KeywordPatterns-keywordPatternsKeywordPatterns = Typed.TypedName (Core.Name "hydra.python.syntax.KeywordPatterns")---- | DSL constructor for the hydra.python.syntax.Keywords wrapper-keywords :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Keywords-keywords x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Keywords"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Keywords-keywordsKeywords :: Typed.TypedName Syntax.Keywords-keywordsKeywords = Typed.TypedName (Core.Name "hydra.python.syntax.Keywords")---- | DSL constructor for hydra.python.syntax.Kvpair-kvpair :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair-kvpair key value =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Kvpair"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "key"),-          Core.fieldTerm = (Typed.unTypedTerm key)},-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Typed.unTypedTerm value)}]}))---- | DSL accessor for the key field of hydra.python.syntax.Kvpair-kvpairKey :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression-kvpairKey x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kvpair"),-        Core.projectionFieldName = (Core.Name "key")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Kvpair-kvpairKvpair :: Typed.TypedName Syntax.Kvpair-kvpairKvpair = Typed.TypedName (Core.Name "hydra.python.syntax.Kvpair")---- | DSL accessor for the value field of hydra.python.syntax.Kvpair-kvpairValue :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression-kvpairValue x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kvpair"),-        Core.projectionFieldName = (Core.Name "value")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the key field of hydra.python.syntax.Kvpair-kvpairWithKey :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair-kvpairWithKey original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Kvpair"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "key"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kvpair"),-              Core.projectionFieldName = (Core.Name "value")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the value field of hydra.python.syntax.Kvpair-kvpairWithValue :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair-kvpairWithValue original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Kvpair"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "key"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kvpair"),-              Core.projectionFieldName = (Core.Name "key")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.Kwarg-kwarg :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kwarg-kwarg name value =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Kwarg"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Typed.unTypedTerm value)}]}))---- | DSL name token for hydra.python.syntax.Kwarg-kwargKwarg :: Typed.TypedName Syntax.Kwarg-kwargKwarg = Typed.TypedName (Core.Name "hydra.python.syntax.Kwarg")---- | DSL accessor for the name field of hydra.python.syntax.Kwarg-kwargName :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Name-kwargName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kwarg"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL injection for the doubleStarred variant of hydra.python.syntax.KwargOrDoubleStarred-kwargOrDoubleStarredDoubleStarred :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.KwargOrDoubleStarred-kwargOrDoubleStarredDoubleStarred x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.KwargOrDoubleStarred"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "doubleStarred"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the kwarg variant of hydra.python.syntax.KwargOrDoubleStarred-kwargOrDoubleStarredKwarg :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.KwargOrDoubleStarred-kwargOrDoubleStarredKwarg x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.KwargOrDoubleStarred"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "kwarg"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.KwargOrDoubleStarred-kwargOrDoubleStarredKwargOrDoubleStarred :: Typed.TypedName Syntax.KwargOrDoubleStarred-kwargOrDoubleStarredKwargOrDoubleStarred = Typed.TypedName (Core.Name "hydra.python.syntax.KwargOrDoubleStarred")---- | DSL injection for the kwarg variant of hydra.python.syntax.KwargOrStarred-kwargOrStarredKwarg :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.KwargOrStarred-kwargOrStarredKwarg x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.KwargOrStarred"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "kwarg"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.KwargOrStarred-kwargOrStarredKwargOrStarred :: Typed.TypedName Syntax.KwargOrStarred-kwargOrStarredKwargOrStarred = Typed.TypedName (Core.Name "hydra.python.syntax.KwargOrStarred")---- | DSL injection for the starred variant of hydra.python.syntax.KwargOrStarred-kwargOrStarredStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.KwargOrStarred-kwargOrStarredStarred x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.KwargOrStarred"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starred"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL accessor for the value field of hydra.python.syntax.Kwarg-kwargValue :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Expression-kwargValue x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kwarg"),-        Core.projectionFieldName = (Core.Name "value")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the name field of hydra.python.syntax.Kwarg-kwargWithName :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Kwarg-kwargWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Kwarg"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kwarg"),-              Core.projectionFieldName = (Core.Name "value")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the value field of hydra.python.syntax.Kwarg-kwargWithValue :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kwarg-kwargWithValue original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Kwarg"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Kwarg"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.Lambda-lambda :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Lambda-lambda params body =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Lambda"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Typed.unTypedTerm params)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the body field of hydra.python.syntax.Lambda-lambdaBody :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression-lambdaBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Lambda"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for the hydra.python.syntax.LambdaKwds wrapper-lambdaKwds :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.LambdaKwds-lambdaKwds x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.LambdaKwds"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.LambdaKwds-lambdaKwdsLambdaKwds :: Typed.TypedName Syntax.LambdaKwds-lambdaKwdsLambdaKwds = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaKwds")---- | DSL name token for hydra.python.syntax.Lambda-lambdaLambda :: Typed.TypedName Syntax.Lambda-lambdaLambda = Typed.TypedName (Core.Name "hydra.python.syntax.Lambda")---- | DSL constructor for hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefault param default_ =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm param)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the default field of hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultDefault :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default)-lambdaParamMaybeDefaultDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),-        Core.projectionFieldName = (Core.Name "default")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultLambdaParamMaybeDefault :: Typed.TypedName Syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultLambdaParamMaybeDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault")---- | DSL accessor for the param field of hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultParam :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm Syntax.Name-lambdaParamMaybeDefaultParam x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),-        Core.projectionFieldName = (Core.Name "param")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultWithDefault :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),-              Core.projectionFieldName = (Core.Name "param")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the param field of hydra.python.syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultWithParam :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault-lambdaParamMaybeDefaultWithParam original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.LambdaParamNoDefault wrapper-lambdaParamNoDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamNoDefault-lambdaParamNoDefault x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.LambdaParamNoDefault"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.LambdaParamNoDefault-lambdaParamNoDefaultLambdaParamNoDefault :: Typed.TypedName Syntax.LambdaParamNoDefault-lambdaParamNoDefaultLambdaParamNoDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaParamNoDefault")---- | DSL constructor for hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamWithDefault-lambdaParamWithDefault param default_ =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm param)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the default field of hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultDefault :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm (Maybe Syntax.Default)-lambdaParamWithDefaultDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),-        Core.projectionFieldName = (Core.Name "default")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultLambdaParamWithDefault :: Typed.TypedName Syntax.LambdaParamWithDefault-lambdaParamWithDefaultLambdaParamWithDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaParamWithDefault")---- | DSL accessor for the param field of hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultParam :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm Syntax.Name-lambdaParamWithDefaultParam x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),-        Core.projectionFieldName = (Core.Name "param")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultWithDefault :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamWithDefault-lambdaParamWithDefaultWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),-              Core.projectionFieldName = (Core.Name "param")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the param field of hydra.python.syntax.LambdaParamWithDefault-lambdaParamWithDefaultWithParam :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamWithDefault-lambdaParamWithDefaultWithParam original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParamWithDefault"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.LambdaParameters-lambdaParameters :: Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault) -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc) -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParameters slashNoDefault paramNoDefault paramWithDefault starEtc =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slashNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm slashNoDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL name token for hydra.python.syntax.LambdaParameters-lambdaParametersLambdaParameters :: Typed.TypedName Syntax.LambdaParameters-lambdaParametersLambdaParameters = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaParameters")---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersParamNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]-lambdaParametersParamNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-        Core.projectionFieldName = (Core.Name "paramNoDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersParamWithDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamWithDefault]-lambdaParametersParamWithDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-        Core.projectionFieldName = (Core.Name "paramWithDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the slashNoDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersSlashNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault)-lambdaParametersSlashNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-        Core.projectionFieldName = (Core.Name "slashNoDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the starEtc field of hydra.python.syntax.LambdaParameters-lambdaParametersStarEtc :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc)-lambdaParametersStarEtc x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-        Core.projectionFieldName = (Core.Name "starEtc")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersWithParamNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParametersWithParamNoDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slashNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "slashNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersWithParamWithDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParametersWithParamWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slashNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "slashNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the slashNoDefault field of hydra.python.syntax.LambdaParameters-lambdaParametersWithSlashNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault) -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParametersWithSlashNoDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slashNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.LambdaParameters-lambdaParametersWithStarEtc :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc) -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParametersWithStarEtc original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slashNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "slashNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL accessor for the params field of hydra.python.syntax.Lambda-lambdaParams :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.LambdaParameters-lambdaParams x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Lambda"),-        Core.projectionFieldName = (Core.Name "params")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.LambdaSlashNoDefault-lambdaSlashNoDefault :: Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashNoDefault-lambdaSlashNoDefault parameters =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashNoDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "parameters"),-          Core.fieldTerm = (Typed.unTypedTerm parameters)}]}))---- | DSL name token for hydra.python.syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultLambdaSlashNoDefault :: Typed.TypedName Syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultLambdaSlashNoDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaSlashNoDefault")---- | DSL accessor for the parameters field of hydra.python.syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultParameters :: Typed.TypedTerm Syntax.LambdaSlashNoDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]-lambdaSlashNoDefaultParameters x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashNoDefault"),-        Core.projectionFieldName = (Core.Name "parameters")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the parameters field of hydra.python.syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultWithParameters :: Typed.TypedTerm Syntax.LambdaSlashNoDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashNoDefault-lambdaSlashNoDefaultWithParameters original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashNoDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "parameters"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefault :: Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault-lambdaSlashWithDefault paramNoDefault paramWithDefault =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)}]}))---- | DSL name token for hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultLambdaSlashWithDefault :: Typed.TypedName Syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultLambdaSlashWithDefault = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaSlashWithDefault")---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultParamNoDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]-lambdaSlashWithDefaultParamNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),-        Core.projectionFieldName = (Core.Name "paramNoDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultParamWithDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamWithDefault]-lambdaSlashWithDefaultParamWithDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),-        Core.projectionFieldName = (Core.Name "paramWithDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultWithParamNoDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultWithParamNoDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultWithParamWithDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault-lambdaSlashWithDefaultWithParamWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.LambdaSlashWithDefault"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the kwds variant of hydra.python.syntax.LambdaStarEtc-lambdaStarEtcKwds :: Typed.TypedTerm Syntax.LambdaKwds -> Typed.TypedTerm Syntax.LambdaStarEtc-lambdaStarEtcKwds x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LambdaStarEtc"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "kwds"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.LambdaStarEtc-lambdaStarEtcLambdaStarEtc :: Typed.TypedName Syntax.LambdaStarEtc-lambdaStarEtcLambdaStarEtc = Typed.TypedName (Core.Name "hydra.python.syntax.LambdaStarEtc")---- | DSL injection for the paramMaybeDefault variant of hydra.python.syntax.LambdaStarEtc-lambdaStarEtcParamMaybeDefault :: Typed.TypedTerm [Syntax.LambdaParamMaybeDefault] -> Typed.TypedTerm Syntax.LambdaStarEtc-lambdaStarEtcParamMaybeDefault x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LambdaStarEtc"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "paramMaybeDefault"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the paramNoDefault variant of hydra.python.syntax.LambdaStarEtc-lambdaStarEtcParamNoDefault :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.LambdaStarEtc-lambdaStarEtcParamNoDefault x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LambdaStarEtc"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "paramNoDefault"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.LambdaStarEtc-lambdaStarEtcStar :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.LambdaStarEtc-lambdaStarEtcStar x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LambdaStarEtc"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "star"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL updater for the body field of hydra.python.syntax.Lambda-lambdaWithBody :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Lambda-lambdaWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Lambda"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Lambda"),-              Core.projectionFieldName = (Core.Name "params")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the params field of hydra.python.syntax.Lambda-lambdaWithParams :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm Syntax.Lambda-lambdaWithParams original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Lambda"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "params"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Lambda"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.List wrapper-list :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.List-list x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.List"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.List-listList :: Typed.TypedName Syntax.List-listList = Typed.TypedName (Core.Name "hydra.python.syntax.List")---- | DSL constructor for hydra.python.syntax.Listcomp-listcomp :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Listcomp-listcomp expression forIfClauses =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Listcomp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm expression)},-        Core.Field {-          Core.fieldName = (Core.Name "forIfClauses"),-          Core.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))---- | DSL accessor for the expression field of hydra.python.syntax.Listcomp-listcompExpression :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.NamedExpression-listcompExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Listcomp"),-        Core.projectionFieldName = (Core.Name "expression")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the forIfClauses field of hydra.python.syntax.Listcomp-listcompForIfClauses :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.ForIfClauses-listcompForIfClauses x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Listcomp"),-        Core.projectionFieldName = (Core.Name "forIfClauses")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Listcomp-listcompListcomp :: Typed.TypedName Syntax.Listcomp-listcompListcomp = Typed.TypedName (Core.Name "hydra.python.syntax.Listcomp")---- | DSL updater for the expression field of hydra.python.syntax.Listcomp-listcompWithExpression :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Listcomp-listcompWithExpression original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Listcomp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "forIfClauses"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Listcomp"),-              Core.projectionFieldName = (Core.Name "forIfClauses")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the forIfClauses field of hydra.python.syntax.Listcomp-listcompWithForIfClauses :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Listcomp-listcompWithForIfClauses original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Listcomp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Listcomp"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "forIfClauses"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the complex variant of hydra.python.syntax.LiteralExpression-literalExpressionComplex :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.LiteralExpression-literalExpressionComplex x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "complex"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the false variant of hydra.python.syntax.LiteralExpression-literalExpressionFalse :: Typed.TypedTerm Syntax.LiteralExpression-literalExpressionFalse =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "false"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.LiteralExpression-literalExpressionLiteralExpression :: Typed.TypedName Syntax.LiteralExpression-literalExpressionLiteralExpression = Typed.TypedName (Core.Name "hydra.python.syntax.LiteralExpression")---- | DSL injection for the none variant of hydra.python.syntax.LiteralExpression-literalExpressionNone :: Typed.TypedTerm Syntax.LiteralExpression-literalExpressionNone =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "none"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the number variant of hydra.python.syntax.LiteralExpression-literalExpressionNumber :: Typed.TypedTerm Syntax.SignedNumber -> Typed.TypedTerm Syntax.LiteralExpression-literalExpressionNumber x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "number"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the attribute variant of hydra.python.syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeAttribute :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeAttribute x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpressionOrAttribute"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "attribute"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the literal variant of hydra.python.syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeLiteral :: Typed.TypedTerm Syntax.LiteralExpression -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeLiteral x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpressionOrAttribute"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "literal"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeLiteralExpressionOrAttribute :: Typed.TypedName Syntax.LiteralExpressionOrAttribute-literalExpressionOrAttributeLiteralExpressionOrAttribute =-    Typed.TypedName (Core.Name "hydra.python.syntax.LiteralExpressionOrAttribute")---- | DSL injection for the string variant of hydra.python.syntax.LiteralExpression-literalExpressionString :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.LiteralExpression-literalExpressionString x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "string"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the true variant of hydra.python.syntax.LiteralExpression-literalExpressionTrue :: Typed.TypedTerm Syntax.LiteralExpression-literalExpressionTrue =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.LiteralExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "true"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.MappingPattern-mappingPattern :: Typed.TypedTerm (Maybe Syntax.ItemsPattern) -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern) -> Typed.TypedTerm Syntax.MappingPattern-mappingPattern items doubleStar =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "items"),-          Core.fieldTerm = (Typed.unTypedTerm items)},-        Core.Field {-          Core.fieldName = (Core.Name "doubleStar"),-          Core.fieldTerm = (Typed.unTypedTerm doubleStar)}]}))---- | DSL accessor for the doubleStar field of hydra.python.syntax.MappingPattern-mappingPatternDoubleStar :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern)-mappingPatternDoubleStar x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),-        Core.projectionFieldName = (Core.Name "doubleStar")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the items field of hydra.python.syntax.MappingPattern-mappingPatternItems :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.ItemsPattern)-mappingPatternItems x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),-        Core.projectionFieldName = (Core.Name "items")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.MappingPattern-mappingPatternMappingPattern :: Typed.TypedName Syntax.MappingPattern-mappingPatternMappingPattern = Typed.TypedName (Core.Name "hydra.python.syntax.MappingPattern")---- | DSL updater for the doubleStar field of hydra.python.syntax.MappingPattern-mappingPatternWithDoubleStar :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern) -> Typed.TypedTerm Syntax.MappingPattern-mappingPatternWithDoubleStar original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "items"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),-              Core.projectionFieldName = (Core.Name "items")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "doubleStar"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the items field of hydra.python.syntax.MappingPattern-mappingPatternWithItems :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.ItemsPattern) -> Typed.TypedTerm Syntax.MappingPattern-mappingPatternWithItems original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "items"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "doubleStar"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.MappingPattern"),-              Core.projectionFieldName = (Core.Name "doubleStar")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.MatchStatement-matchStatement :: Typed.TypedTerm Syntax.SubjectExpression -> Typed.TypedTerm [Syntax.CaseBlock] -> Typed.TypedTerm Syntax.MatchStatement-matchStatement subject cases =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "subject"),-          Core.fieldTerm = (Typed.unTypedTerm subject)},-        Core.Field {-          Core.fieldName = (Core.Name "cases"),-          Core.fieldTerm = (Typed.unTypedTerm cases)}]}))---- | DSL accessor for the cases field of hydra.python.syntax.MatchStatement-matchStatementCases :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm [Syntax.CaseBlock]-matchStatementCases x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),-        Core.projectionFieldName = (Core.Name "cases")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.MatchStatement-matchStatementMatchStatement :: Typed.TypedName Syntax.MatchStatement-matchStatementMatchStatement = Typed.TypedName (Core.Name "hydra.python.syntax.MatchStatement")---- | DSL accessor for the subject field of hydra.python.syntax.MatchStatement-matchStatementSubject :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.SubjectExpression-matchStatementSubject x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),-        Core.projectionFieldName = (Core.Name "subject")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the cases field of hydra.python.syntax.MatchStatement-matchStatementWithCases :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm [Syntax.CaseBlock] -> Typed.TypedTerm Syntax.MatchStatement-matchStatementWithCases original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "subject"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),-              Core.projectionFieldName = (Core.Name "subject")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "cases"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the subject field of hydra.python.syntax.MatchStatement-matchStatementWithSubject :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.SubjectExpression -> Typed.TypedTerm Syntax.MatchStatement-matchStatementWithSubject original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "subject"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "cases"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.MatchStatement"),-              Core.projectionFieldName = (Core.Name "cases")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.MaybeSequencePattern wrapper-maybeSequencePattern :: Typed.TypedTerm [Syntax.MaybeStarPattern] -> Typed.TypedTerm Syntax.MaybeSequencePattern-maybeSequencePattern x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.MaybeSequencePattern"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.MaybeSequencePattern-maybeSequencePatternMaybeSequencePattern :: Typed.TypedName Syntax.MaybeSequencePattern-maybeSequencePatternMaybeSequencePattern = Typed.TypedName (Core.Name "hydra.python.syntax.MaybeSequencePattern")---- | DSL name token for hydra.python.syntax.MaybeStarPattern-maybeStarPatternMaybeStarPattern :: Typed.TypedName Syntax.MaybeStarPattern-maybeStarPatternMaybeStarPattern = Typed.TypedName (Core.Name "hydra.python.syntax.MaybeStarPattern")---- | DSL injection for the pattern variant of hydra.python.syntax.MaybeStarPattern-maybeStarPatternPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.MaybeStarPattern-maybeStarPatternPattern x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.MaybeStarPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "pattern"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.MaybeStarPattern-maybeStarPatternStar :: Typed.TypedTerm Syntax.StarPattern -> Typed.TypedTerm Syntax.MaybeStarPattern-maybeStarPatternStar x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.MaybeStarPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "star"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Module wrapper-module_ :: Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Module-module_ x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Module"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Module-moduleModule :: Typed.TypedName Syntax.Module-moduleModule = Typed.TypedName (Core.Name "hydra.python.syntax.Module")---- | DSL constructor for the hydra.python.syntax.Name wrapper-name :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Name-name x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Name"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Name-nameName :: Typed.TypedName Syntax.Name-nameName = Typed.TypedName (Core.Name "hydra.python.syntax.Name")---- | DSL constructor for the hydra.python.syntax.NameOrAttribute wrapper-nameOrAttribute :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.NameOrAttribute-nameOrAttribute x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.NameOrAttribute"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.NameOrAttribute-nameOrAttributeNameOrAttribute :: Typed.TypedName Syntax.NameOrAttribute-nameOrAttributeNameOrAttribute = Typed.TypedName (Core.Name "hydra.python.syntax.NameOrAttribute")---- | DSL injection for the assignment variant of hydra.python.syntax.NamedExpression-namedExpressionAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.NamedExpression-namedExpressionAssignment x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.NamedExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "assignment"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.NamedExpression-namedExpressionNamedExpression :: Typed.TypedName Syntax.NamedExpression-namedExpressionNamedExpression = Typed.TypedName (Core.Name "hydra.python.syntax.NamedExpression")---- | DSL injection for the simple variant of hydra.python.syntax.NamedExpression-namedExpressionSimple :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.NamedExpression-namedExpressionSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.NamedExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtc paramNoDefaultStarAnnotation paramMaybeDefault keywords =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefaultStarAnnotation"),-          Core.fieldTerm = (Typed.unTypedTerm paramNoDefaultStarAnnotation)},-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Typed.unTypedTerm keywords)}]}))---- | DSL accessor for the keywords field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcKeywords :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)-noDefaultStarAnnotationStarEtcKeywords x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-        Core.projectionFieldName = (Core.Name "keywords")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc :: Typed.TypedName Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc =-    Typed.TypedName (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc")---- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]-noDefaultStarAnnotationStarEtcParamMaybeDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-        Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramNoDefaultStarAnnotation field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation-noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-        Core.projectionFieldName = (Core.Name "paramNoDefaultStarAnnotation")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the keywords field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithKeywords :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithKeywords original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefaultStarAnnotation"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-              Core.projectionFieldName = (Core.Name "paramNoDefaultStarAnnotation")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-              Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithParamMaybeDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefaultStarAnnotation"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-              Core.projectionFieldName = (Core.Name "paramNoDefaultStarAnnotation")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-              Core.projectionFieldName = (Core.Name "keywords")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramNoDefaultStarAnnotation field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc-noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefaultStarAnnotation"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-              Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),-              Core.projectionFieldName = (Core.Name "keywords")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtc :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarEtc-noDefaultStarEtc paramNoDefault paramMaybeDefault keywords =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Typed.unTypedTerm keywords)}]}))---- | DSL accessor for the keywords field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcKeywords :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)-noDefaultStarEtcKeywords x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-        Core.projectionFieldName = (Core.Name "keywords")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcNoDefaultStarEtc :: Typed.TypedName Syntax.NoDefaultStarEtc-noDefaultStarEtcNoDefaultStarEtc = Typed.TypedName (Core.Name "hydra.python.syntax.NoDefaultStarEtc")---- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]-noDefaultStarEtcParamMaybeDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-        Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcParamNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.ParamNoDefault-noDefaultStarEtcParamNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-        Core.projectionFieldName = (Core.Name "paramNoDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the keywords field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcWithKeywords :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarEtc-noDefaultStarEtcWithKeywords original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-              Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.NoDefaultStarEtc-noDefaultStarEtcWithParamMaybeDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-              Core.projectionFieldName = (Core.Name "keywords")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.NoDefaultStarEtc-noDefaultStarEtcWithParamNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.NoDefaultStarEtc-noDefaultStarEtcWithParamNoDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramMaybeDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-              Core.projectionFieldName = (Core.Name "paramMaybeDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "keywords"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.NoDefaultStarEtc"),-              Core.projectionFieldName = (Core.Name "keywords")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the float variant of hydra.python.syntax.Number-numberFloat :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.Number-numberFloat x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Number"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "float"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the imaginary variant of hydra.python.syntax.Number-numberImaginary :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.Number-numberImaginary x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Number"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "imaginary"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the integer variant of hydra.python.syntax.Number-numberInteger :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.Number-numberInteger x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Number"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "integer"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Number-numberNumber :: Typed.TypedName Syntax.Number-numberNumber = Typed.TypedName (Core.Name "hydra.python.syntax.Number")---- | DSL constructor for hydra.python.syntax.OpenSequencePattern-openSequencePattern :: Typed.TypedTerm Syntax.MaybeStarPattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.OpenSequencePattern-openSequencePattern head tail =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "head"),-          Core.fieldTerm = (Typed.unTypedTerm head)},-        Core.Field {-          Core.fieldName = (Core.Name "tail"),-          Core.fieldTerm = (Typed.unTypedTerm tail)}]}))---- | DSL accessor for the head field of hydra.python.syntax.OpenSequencePattern-openSequencePatternHead :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.MaybeStarPattern-openSequencePatternHead x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),-        Core.projectionFieldName = (Core.Name "head")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.OpenSequencePattern-openSequencePatternOpenSequencePattern :: Typed.TypedName Syntax.OpenSequencePattern-openSequencePatternOpenSequencePattern = Typed.TypedName (Core.Name "hydra.python.syntax.OpenSequencePattern")---- | DSL accessor for the tail field of hydra.python.syntax.OpenSequencePattern-openSequencePatternTail :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern)-openSequencePatternTail x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),-        Core.projectionFieldName = (Core.Name "tail")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the head field of hydra.python.syntax.OpenSequencePattern-openSequencePatternWithHead :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.MaybeStarPattern -> Typed.TypedTerm Syntax.OpenSequencePattern-openSequencePatternWithHead original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "head"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "tail"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),-              Core.projectionFieldName = (Core.Name "tail")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the tail field of hydra.python.syntax.OpenSequencePattern-openSequencePatternWithTail :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.OpenSequencePattern-openSequencePatternWithTail original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "head"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.OpenSequencePattern"),-              Core.projectionFieldName = (Core.Name "head")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "tail"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.OrPattern wrapper-orPattern :: Typed.TypedTerm [Syntax.ClosedPattern] -> Typed.TypedTerm Syntax.OrPattern-orPattern x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.OrPattern"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.OrPattern-orPatternOrPattern :: Typed.TypedName Syntax.OrPattern-orPatternOrPattern = Typed.TypedName (Core.Name "hydra.python.syntax.OrPattern")---- | DSL constructor for hydra.python.syntax.Param-param :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Annotation) -> Typed.TypedTerm Syntax.Param-param name annotation =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Param"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "annotation"),-          Core.fieldTerm = (Typed.unTypedTerm annotation)}]}))---- | DSL accessor for the annotation field of hydra.python.syntax.Param-paramAnnotation :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Annotation)-paramAnnotation x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Param"),-        Core.projectionFieldName = (Core.Name "annotation")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.ParamMaybeDefault-paramMaybeDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamMaybeDefault-paramMaybeDefault param default_ typeComment =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm param)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm default_)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL accessor for the default field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultDefault :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default)-paramMaybeDefaultDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-        Core.projectionFieldName = (Core.Name "default")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the param field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultParam :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm Syntax.Param-paramMaybeDefaultParam x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-        Core.projectionFieldName = (Core.Name "param")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultParamMaybeDefault :: Typed.TypedName Syntax.ParamMaybeDefault-paramMaybeDefaultParamMaybeDefault = Typed.TypedName (Core.Name "hydra.python.syntax.ParamMaybeDefault")---- | DSL accessor for the typeComment field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultTypeComment :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)-paramMaybeDefaultTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-        Core.projectionFieldName = (Core.Name "typeComment")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultWithDefault :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.ParamMaybeDefault-paramMaybeDefaultWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-              Core.projectionFieldName = (Core.Name "param")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the param field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultWithParam :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamMaybeDefault-paramMaybeDefaultWithParam original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ParamMaybeDefault-paramMaybeDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamMaybeDefault-paramMaybeDefaultWithTypeComment original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-              Core.projectionFieldName = (Core.Name "param")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamMaybeDefault"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL accessor for the name field of hydra.python.syntax.Param-paramName :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Name-paramName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Param"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.ParamNoDefault-paramNoDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefault-paramNoDefault param typeComment =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm param)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL accessor for the param field of hydra.python.syntax.ParamNoDefault-paramNoDefaultParam :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Param-paramNoDefaultParam x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),-        Core.projectionFieldName = (Core.Name "param")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamNoDefault-paramNoDefaultParamNoDefault :: Typed.TypedName Syntax.ParamNoDefault-paramNoDefaultParamNoDefault = Typed.TypedName (Core.Name "hydra.python.syntax.ParamNoDefault")---- | DSL constructor for hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParameters :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamNoDefaultParameters-paramNoDefaultParameters paramNoDefault paramWithDefault starEtc =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]-paramNoDefaultParametersParamNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-        Core.projectionFieldName = (Core.Name "paramNoDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersParamNoDefaultParameters :: Typed.TypedName Syntax.ParamNoDefaultParameters-paramNoDefaultParametersParamNoDefaultParameters =-    Typed.TypedName (Core.Name "hydra.python.syntax.ParamNoDefaultParameters")---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]-paramNoDefaultParametersParamWithDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-        Core.projectionFieldName = (Core.Name "paramWithDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the starEtc field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)-paramNoDefaultParametersStarEtc x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-        Core.projectionFieldName = (Core.Name "starEtc")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithParamNoDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithParamWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamNoDefaultParameters-paramNoDefaultParametersWithStarEtc original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotation paramStarAnnotation typeComment =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramStarAnnotation"),-          Core.fieldTerm = (Typed.unTypedTerm paramStarAnnotation)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL name token for hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation :: Typed.TypedName Syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation =-    Typed.TypedName (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation")---- | DSL accessor for the paramStarAnnotation field of hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationParamStarAnnotation :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation-paramNoDefaultStarAnnotationParamStarAnnotation x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),-        Core.projectionFieldName = (Core.Name "paramStarAnnotation")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeComment field of hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationTypeComment :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment)-paramNoDefaultStarAnnotationTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),-        Core.projectionFieldName = (Core.Name "typeComment")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramStarAnnotation field of hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationWithParamStarAnnotation :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationWithParamStarAnnotation original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramStarAnnotation"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationWithTypeComment :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation-paramNoDefaultStarAnnotationWithTypeComment original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramStarAnnotation"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),-              Core.projectionFieldName = (Core.Name "paramStarAnnotation")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL accessor for the typeComment field of hydra.python.syntax.ParamNoDefault-paramNoDefaultTypeComment :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)-paramNoDefaultTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),-        Core.projectionFieldName = (Core.Name "typeComment")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the param field of hydra.python.syntax.ParamNoDefault-paramNoDefaultWithParam :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamNoDefault-paramNoDefaultWithParam original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ParamNoDefault-paramNoDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefault-paramNoDefaultWithTypeComment original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamNoDefault"),-              Core.projectionFieldName = (Core.Name "param")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.Param-paramParam :: Typed.TypedName Syntax.Param-paramParam = Typed.TypedName (Core.Name "hydra.python.syntax.Param")---- | DSL constructor for hydra.python.syntax.ParamStarAnnotation-paramStarAnnotation :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation-paramStarAnnotation name annotation =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "annotation"),-          Core.fieldTerm = (Typed.unTypedTerm annotation)}]}))---- | DSL accessor for the annotation field of hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.StarAnnotation-paramStarAnnotationAnnotation x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),-        Core.projectionFieldName = (Core.Name "annotation")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationName :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.Name-paramStarAnnotationName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationParamStarAnnotation :: Typed.TypedName Syntax.ParamStarAnnotation-paramStarAnnotationParamStarAnnotation = Typed.TypedName (Core.Name "hydra.python.syntax.ParamStarAnnotation")---- | DSL updater for the annotation field of hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationWithAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation-paramStarAnnotationWithAnnotation original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "annotation"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.ParamStarAnnotation-paramStarAnnotationWithName :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ParamStarAnnotation-paramStarAnnotationWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "annotation"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamStarAnnotation"),-              Core.projectionFieldName = (Core.Name "annotation")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the annotation field of hydra.python.syntax.Param-paramWithAnnotation :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Annotation) -> Typed.TypedTerm Syntax.Param-paramWithAnnotation original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Param"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Param"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "annotation"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ParamWithDefault-paramWithDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Default -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamWithDefault-paramWithDefault param default_ typeComment =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm param)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm default_)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL accessor for the default field of hydra.python.syntax.ParamWithDefault-paramWithDefaultDefault :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Default-paramWithDefaultDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-        Core.projectionFieldName = (Core.Name "default")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the param field of hydra.python.syntax.ParamWithDefault-paramWithDefaultParam :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Param-paramWithDefaultParam x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-        Core.projectionFieldName = (Core.Name "param")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamWithDefault-paramWithDefaultParamWithDefault :: Typed.TypedName Syntax.ParamWithDefault-paramWithDefaultParamWithDefault = Typed.TypedName (Core.Name "hydra.python.syntax.ParamWithDefault")---- | DSL constructor for hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParameters :: Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamWithDefaultParameters-paramWithDefaultParameters paramWithDefault starEtc =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]-paramWithDefaultParametersParamWithDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),-        Core.projectionFieldName = (Core.Name "paramWithDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersParamWithDefaultParameters :: Typed.TypedName Syntax.ParamWithDefaultParameters-paramWithDefaultParametersParamWithDefaultParameters =-    Typed.TypedName (Core.Name "hydra.python.syntax.ParamWithDefaultParameters")---- | DSL accessor for the starEtc field of hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersStarEtc :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)-paramWithDefaultParametersStarEtc x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),-        Core.projectionFieldName = (Core.Name "starEtc")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.ParamWithDefaultParameters-paramWithDefaultParametersWithParamWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.ParamWithDefaultParameters-paramWithDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamWithDefaultParameters-paramWithDefaultParametersWithStarEtc original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL accessor for the typeComment field of hydra.python.syntax.ParamWithDefault-paramWithDefaultTypeComment :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)-paramWithDefaultTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-        Core.projectionFieldName = (Core.Name "typeComment")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the default field of hydra.python.syntax.ParamWithDefault-paramWithDefaultWithDefault :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Default -> Typed.TypedTerm Syntax.ParamWithDefault-paramWithDefaultWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-              Core.projectionFieldName = (Core.Name "param")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the param field of hydra.python.syntax.ParamWithDefault-paramWithDefaultWithParam :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamWithDefault-paramWithDefaultWithParam original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.ParamWithDefault-paramWithDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamWithDefault-paramWithDefaultWithTypeComment original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "param"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-              Core.projectionFieldName = (Core.Name "param")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ParamWithDefault"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.Param-paramWithName :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Param-paramWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Param"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "annotation"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Param"),-              Core.projectionFieldName = (Core.Name "annotation")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the paramNoDefault variant of hydra.python.syntax.Parameters-parametersParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm Syntax.Parameters-parametersParamNoDefault x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "paramNoDefault"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the paramWithDefault variant of hydra.python.syntax.Parameters-parametersParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm Syntax.Parameters-parametersParamWithDefault x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "paramWithDefault"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Parameters-parametersParameters :: Typed.TypedName Syntax.Parameters-parametersParameters = Typed.TypedName (Core.Name "hydra.python.syntax.Parameters")---- | DSL injection for the slashNoDefault variant of hydra.python.syntax.Parameters-parametersSlashNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.Parameters-parametersSlashNoDefault x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "slashNoDefault"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the slashWithDefault variant of hydra.python.syntax.Parameters-parametersSlashWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm Syntax.Parameters-parametersSlashWithDefault x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "slashWithDefault"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starEtc variant of hydra.python.syntax.Parameters-parametersStarEtc :: Typed.TypedTerm Syntax.StarEtc -> Typed.TypedTerm Syntax.Parameters-parametersStarEtc x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Parameters"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starEtc"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the as variant of hydra.python.syntax.Pattern-patternAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.Pattern-patternAs x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Pattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "as"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.PatternCaptureTarget wrapper-patternCaptureTarget :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.PatternCaptureTarget-patternCaptureTarget x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.PatternCaptureTarget"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.PatternCaptureTarget-patternCaptureTargetPatternCaptureTarget :: Typed.TypedName Syntax.PatternCaptureTarget-patternCaptureTargetPatternCaptureTarget = Typed.TypedName (Core.Name "hydra.python.syntax.PatternCaptureTarget")---- | DSL injection for the or variant of hydra.python.syntax.Pattern-patternOr :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.Pattern-patternOr x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Pattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "or"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Pattern-patternPattern :: Typed.TypedName Syntax.Pattern-patternPattern = Typed.TypedName (Core.Name "hydra.python.syntax.Pattern")---- | DSL injection for the pattern variant of hydra.python.syntax.Patterns-patternsPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.Patterns-patternsPattern x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Patterns"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "pattern"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Patterns-patternsPatterns :: Typed.TypedName Syntax.Patterns-patternsPatterns = Typed.TypedName (Core.Name "hydra.python.syntax.Patterns")---- | DSL injection for the sequence variant of hydra.python.syntax.Patterns-patternsSequence :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.Patterns-patternsSequence x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Patterns"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "sequence"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the minus variant of hydra.python.syntax.PlusOrMinus-plusOrMinusMinus :: Typed.TypedTerm Syntax.PlusOrMinus-plusOrMinusMinus =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.PlusOrMinus"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "minus"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the plus variant of hydra.python.syntax.PlusOrMinus-plusOrMinusPlus :: Typed.TypedTerm Syntax.PlusOrMinus-plusOrMinusPlus =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.PlusOrMinus"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "plus"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.PlusOrMinus-plusOrMinusPlusOrMinus :: Typed.TypedName Syntax.PlusOrMinus-plusOrMinusPlusOrMinus = Typed.TypedName (Core.Name "hydra.python.syntax.PlusOrMinus")---- | DSL injection for the assignment variant of hydra.python.syntax.PosArg-posArgAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.PosArg-posArgAssignment x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.PosArg"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "assignment"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the expression variant of hydra.python.syntax.PosArg-posArgExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PosArg-posArgExpression x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.PosArg"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "expression"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.PosArg-posArgPosArg :: Typed.TypedName Syntax.PosArg-posArgPosArg = Typed.TypedName (Core.Name "hydra.python.syntax.PosArg")---- | DSL injection for the starred variant of hydra.python.syntax.PosArg-posArgStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.PosArg-posArgStarred x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.PosArg"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starred"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.PositionalPatterns wrapper-positionalPatterns :: Typed.TypedTerm [Syntax.Pattern] -> Typed.TypedTerm Syntax.PositionalPatterns-positionalPatterns x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.PositionalPatterns"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.PositionalPatterns-positionalPatternsPositionalPatterns :: Typed.TypedName Syntax.PositionalPatterns-positionalPatternsPositionalPatterns = Typed.TypedName (Core.Name "hydra.python.syntax.PositionalPatterns")---- | DSL constructor for hydra.python.syntax.Power-power :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm (Maybe Syntax.Factor) -> Typed.TypedTerm Syntax.Power-power lhs rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Power"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.Power-powerLhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.AwaitPrimary-powerLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Power"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Power-powerPower :: Typed.TypedName Syntax.Power-powerPower = Typed.TypedName (Core.Name "hydra.python.syntax.Power")---- | DSL accessor for the rhs field of hydra.python.syntax.Power-powerRhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Factor)-powerRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Power"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the lhs field of hydra.python.syntax.Power-powerWithLhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Power-powerWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Power"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Power"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.Power-powerWithRhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Factor) -> Typed.TypedTerm Syntax.Power-powerWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Power"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Power"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the compound variant of hydra.python.syntax.Primary-primaryCompound :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary-primaryCompound x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Primary"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "compound"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Primary-primaryPrimary :: Typed.TypedName Syntax.Primary-primaryPrimary = Typed.TypedName (Core.Name "hydra.python.syntax.Primary")---- | DSL injection for the call variant of hydra.python.syntax.PrimaryRhs-primaryRhsCall :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm Syntax.PrimaryRhs-primaryRhsCall x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.PrimaryRhs"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "call"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the genexp variant of hydra.python.syntax.PrimaryRhs-primaryRhsGenexp :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.PrimaryRhs-primaryRhsGenexp x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.PrimaryRhs"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "genexp"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.PrimaryRhs-primaryRhsPrimaryRhs :: Typed.TypedName Syntax.PrimaryRhs-primaryRhsPrimaryRhs = Typed.TypedName (Core.Name "hydra.python.syntax.PrimaryRhs")---- | DSL injection for the project variant of hydra.python.syntax.PrimaryRhs-primaryRhsProject :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.PrimaryRhs-primaryRhsProject x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.PrimaryRhs"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "project"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the slices variant of hydra.python.syntax.PrimaryRhs-primaryRhsSlices :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.PrimaryRhs-primaryRhsSlices x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.PrimaryRhs"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "slices"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Primary-primarySimple :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Primary-primarySimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Primary"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.PrimaryWithRhs-primaryWithRhs :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.PrimaryWithRhs-primaryWithRhs primary rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm primary)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the primary field of hydra.python.syntax.PrimaryWithRhs-primaryWithRhsPrimary :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary-primaryWithRhsPrimary x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),-        Core.projectionFieldName = (Core.Name "primary")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.PrimaryWithRhs-primaryWithRhsPrimaryWithRhs :: Typed.TypedName Syntax.PrimaryWithRhs-primaryWithRhsPrimaryWithRhs = Typed.TypedName (Core.Name "hydra.python.syntax.PrimaryWithRhs")---- | DSL accessor for the rhs field of hydra.python.syntax.PrimaryWithRhs-primaryWithRhsRhs :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.PrimaryRhs-primaryWithRhsRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the primary field of hydra.python.syntax.PrimaryWithRhs-primaryWithRhsWithPrimary :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryWithRhs-primaryWithRhsWithPrimary original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.PrimaryWithRhs-primaryWithRhsWithRhs :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.PrimaryWithRhs-primaryWithRhsWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.PrimaryWithRhs"),-              Core.projectionFieldName = (Core.Name "primary")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the double variant of hydra.python.syntax.QuoteStyle-quoteStyleDouble :: Typed.TypedTerm Syntax.QuoteStyle-quoteStyleDouble =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.QuoteStyle"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "double"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.QuoteStyle-quoteStyleQuoteStyle :: Typed.TypedName Syntax.QuoteStyle-quoteStyleQuoteStyle = Typed.TypedName (Core.Name "hydra.python.syntax.QuoteStyle")---- | DSL injection for the single variant of hydra.python.syntax.QuoteStyle-quoteStyleSingle :: Typed.TypedTerm Syntax.QuoteStyle-quoteStyleSingle =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.QuoteStyle"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "single"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the tripleDouble variant of hydra.python.syntax.QuoteStyle-quoteStyleTripleDouble :: Typed.TypedTerm Syntax.QuoteStyle-quoteStyleTripleDouble =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.QuoteStyle"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "tripleDouble"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the tripleSingle variant of hydra.python.syntax.QuoteStyle-quoteStyleTripleSingle :: Typed.TypedTerm Syntax.QuoteStyle-quoteStyleTripleSingle =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.QuoteStyle"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "tripleSingle"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL constructor for hydra.python.syntax.RaiseExpression-raiseExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.RaiseExpression-raiseExpression expression from =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm expression)},-        Core.Field {-          Core.fieldName = (Core.Name "from"),-          Core.fieldTerm = (Typed.unTypedTerm from)}]}))---- | DSL accessor for the expression field of hydra.python.syntax.RaiseExpression-raiseExpressionExpression :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm Syntax.Expression-raiseExpressionExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),-        Core.projectionFieldName = (Core.Name "expression")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the from field of hydra.python.syntax.RaiseExpression-raiseExpressionFrom :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm (Maybe Syntax.Expression)-raiseExpressionFrom x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),-        Core.projectionFieldName = (Core.Name "from")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.RaiseExpression-raiseExpressionRaiseExpression :: Typed.TypedName Syntax.RaiseExpression-raiseExpressionRaiseExpression = Typed.TypedName (Core.Name "hydra.python.syntax.RaiseExpression")---- | DSL updater for the expression field of hydra.python.syntax.RaiseExpression-raiseExpressionWithExpression :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.RaiseExpression-raiseExpressionWithExpression original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "from"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),-              Core.projectionFieldName = (Core.Name "from")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the from field of hydra.python.syntax.RaiseExpression-raiseExpressionWithFrom :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.RaiseExpression-raiseExpressionWithFrom original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.RaiseExpression"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "from"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.RaiseStatement wrapper-raiseStatement :: Typed.TypedTerm (Maybe Syntax.RaiseExpression) -> Typed.TypedTerm Syntax.RaiseStatement-raiseStatement x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.RaiseStatement"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.RaiseStatement-raiseStatementRaiseStatement :: Typed.TypedName Syntax.RaiseStatement-raiseStatementRaiseStatement = Typed.TypedName (Core.Name "hydra.python.syntax.RaiseStatement")---- | DSL injection for the float variant of hydra.python.syntax.RealNumber-realNumberFloat :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.RealNumber-realNumberFloat x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.RealNumber"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "float"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the integer variant of hydra.python.syntax.RealNumber-realNumberInteger :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.RealNumber-realNumberInteger x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.RealNumber"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "integer"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.RealNumber-realNumberRealNumber :: Typed.TypedName Syntax.RealNumber-realNumberRealNumber = Typed.TypedName (Core.Name "hydra.python.syntax.RealNumber")---- | DSL injection for the dot variant of hydra.python.syntax.RelativeImportPrefix-relativeImportPrefixDot :: Typed.TypedTerm Syntax.RelativeImportPrefix-relativeImportPrefixDot =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.RelativeImportPrefix"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "dot"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the ellipsis variant of hydra.python.syntax.RelativeImportPrefix-relativeImportPrefixEllipsis :: Typed.TypedTerm Syntax.RelativeImportPrefix-relativeImportPrefixEllipsis =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.RelativeImportPrefix"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "ellipsis"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.RelativeImportPrefix-relativeImportPrefixRelativeImportPrefix :: Typed.TypedName Syntax.RelativeImportPrefix-relativeImportPrefixRelativeImportPrefix = Typed.TypedName (Core.Name "hydra.python.syntax.RelativeImportPrefix")---- | DSL constructor for the hydra.python.syntax.ReturnStatement wrapper-returnStatement :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.ReturnStatement-returnStatement x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ReturnStatement"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ReturnStatement-returnStatementReturnStatement :: Typed.TypedName Syntax.ReturnStatement-returnStatementReturnStatement = Typed.TypedName (Core.Name "hydra.python.syntax.ReturnStatement")---- | DSL injection for the list variant of hydra.python.syntax.SequencePattern-sequencePatternList :: Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.SequencePattern-sequencePatternList x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SequencePattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "list"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SequencePattern-sequencePatternSequencePattern :: Typed.TypedName Syntax.SequencePattern-sequencePatternSequencePattern = Typed.TypedName (Core.Name "hydra.python.syntax.SequencePattern")---- | DSL injection for the tuple variant of hydra.python.syntax.SequencePattern-sequencePatternTuple :: Typed.TypedTerm (Maybe Syntax.OpenSequencePattern) -> Typed.TypedTerm Syntax.SequencePattern-sequencePatternTuple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SequencePattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "tuple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.Set wrapper-set :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.Set-set x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Set"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Set-setSet :: Typed.TypedName Syntax.Set-setSet = Typed.TypedName (Core.Name "hydra.python.syntax.Set")---- | DSL constructor for hydra.python.syntax.Setcomp-setcomp :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Setcomp-setcomp expression forIfClauses =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Setcomp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm expression)},-        Core.Field {-          Core.fieldName = (Core.Name "forIfClauses"),-          Core.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))---- | DSL accessor for the expression field of hydra.python.syntax.Setcomp-setcompExpression :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.NamedExpression-setcompExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Setcomp"),-        Core.projectionFieldName = (Core.Name "expression")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the forIfClauses field of hydra.python.syntax.Setcomp-setcompForIfClauses :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.ForIfClauses-setcompForIfClauses x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Setcomp"),-        Core.projectionFieldName = (Core.Name "forIfClauses")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Setcomp-setcompSetcomp :: Typed.TypedName Syntax.Setcomp-setcompSetcomp = Typed.TypedName (Core.Name "hydra.python.syntax.Setcomp")---- | DSL updater for the expression field of hydra.python.syntax.Setcomp-setcompWithExpression :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Setcomp-setcompWithExpression original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Setcomp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "forIfClauses"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Setcomp"),-              Core.projectionFieldName = (Core.Name "forIfClauses")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the forIfClauses field of hydra.python.syntax.Setcomp-setcompWithForIfClauses :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Setcomp-setcompWithForIfClauses original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Setcomp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Setcomp"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "forIfClauses"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ShiftExpression-shiftExpression :: Typed.TypedTerm (Maybe Syntax.ShiftLhs) -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.ShiftExpression-shiftExpression lhs rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.ShiftExpression-shiftExpressionLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm (Maybe Syntax.ShiftLhs)-shiftExpressionLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.ShiftExpression-shiftExpressionRhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.Sum-shiftExpressionRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ShiftExpression-shiftExpressionShiftExpression :: Typed.TypedName Syntax.ShiftExpression-shiftExpressionShiftExpression = Typed.TypedName (Core.Name "hydra.python.syntax.ShiftExpression")---- | DSL updater for the lhs field of hydra.python.syntax.ShiftExpression-shiftExpressionWithLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm (Maybe Syntax.ShiftLhs) -> Typed.TypedTerm Syntax.ShiftExpression-shiftExpressionWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.ShiftExpression-shiftExpressionWithRhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.ShiftExpression-shiftExpressionWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftExpression"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.ShiftLhs-shiftLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.ShiftOp -> Typed.TypedTerm Syntax.ShiftLhs-shiftLhs operand operator =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operand"),-          Core.fieldTerm = (Typed.unTypedTerm operand)},-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Typed.unTypedTerm operator)}]}))---- | DSL accessor for the operand field of hydra.python.syntax.ShiftLhs-shiftLhsOperand :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftExpression-shiftLhsOperand x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),-        Core.projectionFieldName = (Core.Name "operand")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the operator field of hydra.python.syntax.ShiftLhs-shiftLhsOperator :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftOp-shiftLhsOperator x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),-        Core.projectionFieldName = (Core.Name "operator")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ShiftLhs-shiftLhsShiftLhs :: Typed.TypedName Syntax.ShiftLhs-shiftLhsShiftLhs = Typed.TypedName (Core.Name "hydra.python.syntax.ShiftLhs")---- | DSL updater for the operand field of hydra.python.syntax.ShiftLhs-shiftLhsWithOperand :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.ShiftLhs-shiftLhsWithOperand original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operand"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),-              Core.projectionFieldName = (Core.Name "operator")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the operator field of hydra.python.syntax.ShiftLhs-shiftLhsWithOperator :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftOp -> Typed.TypedTerm Syntax.ShiftLhs-shiftLhsWithOperator original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operand"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.ShiftLhs"),-              Core.projectionFieldName = (Core.Name "operand")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the left variant of hydra.python.syntax.ShiftOp-shiftOpLeft :: Typed.TypedTerm Syntax.ShiftOp-shiftOpLeft =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ShiftOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "left"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the right variant of hydra.python.syntax.ShiftOp-shiftOpRight :: Typed.TypedTerm Syntax.ShiftOp-shiftOpRight =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.ShiftOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "right"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.ShiftOp-shiftOpShiftOp :: Typed.TypedName Syntax.ShiftOp-shiftOpShiftOp = Typed.TypedName (Core.Name "hydra.python.syntax.ShiftOp")---- | DSL injection for the number variant of hydra.python.syntax.SignedNumber-signedNumberNumber :: Typed.TypedTerm Syntax.Number -> Typed.TypedTerm Syntax.SignedNumber-signedNumberNumber x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SignedNumber"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "number"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the sign variant of hydra.python.syntax.SignedNumber-signedNumberSign :: Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.SignedNumber-signedNumberSign x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SignedNumber"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "sign"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SignedNumber-signedNumberSignedNumber :: Typed.TypedName Syntax.SignedNumber-signedNumberSignedNumber = Typed.TypedName (Core.Name "hydra.python.syntax.SignedNumber")---- | DSL injection for the number variant of hydra.python.syntax.SignedRealNumber-signedRealNumberNumber :: Typed.TypedTerm Syntax.RealNumber -> Typed.TypedTerm Syntax.SignedRealNumber-signedRealNumberNumber x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SignedRealNumber"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "number"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the sign variant of hydra.python.syntax.SignedRealNumber-signedRealNumberSign :: Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.SignedRealNumber-signedRealNumberSign x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SignedRealNumber"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "sign"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SignedRealNumber-signedRealNumberSignedRealNumber :: Typed.TypedName Syntax.SignedRealNumber-signedRealNumberSignedRealNumber = Typed.TypedName (Core.Name "hydra.python.syntax.SignedRealNumber")---- | DSL injection for the assert variant of hydra.python.syntax.SimpleStatement-simpleStatementAssert :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementAssert x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "assert"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the assignment variant of hydra.python.syntax.SimpleStatement-simpleStatementAssignment :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementAssignment x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "assignment"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the break variant of hydra.python.syntax.SimpleStatement-simpleStatementBreak :: Typed.TypedTerm Syntax.SimpleStatement-simpleStatementBreak =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "break"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the continue variant of hydra.python.syntax.SimpleStatement-simpleStatementContinue :: Typed.TypedTerm Syntax.SimpleStatement-simpleStatementContinue =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "continue"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the del variant of hydra.python.syntax.SimpleStatement-simpleStatementDel :: Typed.TypedTerm Syntax.DelStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementDel x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "del"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the global variant of hydra.python.syntax.SimpleStatement-simpleStatementGlobal :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementGlobal x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "global"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the import variant of hydra.python.syntax.SimpleStatement-simpleStatementImport :: Typed.TypedTerm Syntax.ImportStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementImport x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "import"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the nonlocal variant of hydra.python.syntax.SimpleStatement-simpleStatementNonlocal :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementNonlocal x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "nonlocal"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the pass variant of hydra.python.syntax.SimpleStatement-simpleStatementPass :: Typed.TypedTerm Syntax.SimpleStatement-simpleStatementPass =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "pass"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the raise variant of hydra.python.syntax.SimpleStatement-simpleStatementRaise :: Typed.TypedTerm Syntax.RaiseStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementRaise x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "raise"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the return variant of hydra.python.syntax.SimpleStatement-simpleStatementReturn :: Typed.TypedTerm Syntax.ReturnStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementReturn x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "return"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SimpleStatement-simpleStatementSimpleStatement :: Typed.TypedName Syntax.SimpleStatement-simpleStatementSimpleStatement = Typed.TypedName (Core.Name "hydra.python.syntax.SimpleStatement")---- | DSL injection for the starExpressions variant of hydra.python.syntax.SimpleStatement-simpleStatementStarExpressions :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementStarExpressions x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starExpressions"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the typeAlias variant of hydra.python.syntax.SimpleStatement-simpleStatementTypeAlias :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementTypeAlias x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "typeAlias"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the yield variant of hydra.python.syntax.SimpleStatement-simpleStatementYield :: Typed.TypedTerm Syntax.YieldStatement -> Typed.TypedTerm Syntax.SimpleStatement-simpleStatementYield x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SimpleStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "yield"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.SimpleTypeParameter-simpleTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter-simpleTypeParameter name bound default_ =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "bound"),-          Core.fieldTerm = (Typed.unTypedTerm bound)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the bound field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterBound :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)-simpleTypeParameterBound x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-        Core.projectionFieldName = (Core.Name "bound")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the default field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterDefault :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)-simpleTypeParameterDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-        Core.projectionFieldName = (Core.Name "default")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterName :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.Name-simpleTypeParameterName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterSimpleTypeParameter :: Typed.TypedName Syntax.SimpleTypeParameter-simpleTypeParameterSimpleTypeParameter = Typed.TypedName (Core.Name "hydra.python.syntax.SimpleTypeParameter")---- | DSL updater for the bound field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterWithBound :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter-simpleTypeParameterWithBound original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "bound"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the default field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterWithDefault :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter-simpleTypeParameterWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "bound"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-              Core.projectionFieldName = (Core.Name "bound")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.SimpleTypeParameter-simpleTypeParameterWithName :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.SimpleTypeParameter-simpleTypeParameterWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "bound"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-              Core.projectionFieldName = (Core.Name "bound")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SimpleTypeParameter"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the primaryAndName variant of hydra.python.syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetPrimaryAndName x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "primaryAndName"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetPrimaryAndSlices x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "primaryAndSlices"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetSingleSubscriptAttributeTarget :: Typed.TypedName Syntax.SingleSubscriptAttributeTarget-singleSubscriptAttributeTargetSingleSubscriptAttributeTarget =-    Typed.TypedName (Core.Name "hydra.python.syntax.SingleSubscriptAttributeTarget")---- | DSL injection for the name variant of hydra.python.syntax.SingleTarget-singleTargetName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.SingleTarget-singleTargetName x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "name"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the parens variant of hydra.python.syntax.SingleTarget-singleTargetParens :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.SingleTarget-singleTargetParens x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "parens"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SingleTarget-singleTargetSingleTarget :: Typed.TypedName Syntax.SingleTarget-singleTargetSingleTarget = Typed.TypedName (Core.Name "hydra.python.syntax.SingleTarget")---- | DSL injection for the subscriptAttributeTarget variant of hydra.python.syntax.SingleTarget-singleTargetSubscriptAttributeTarget :: Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget -> Typed.TypedTerm Syntax.SingleTarget-singleTargetSubscriptAttributeTarget x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SingleTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "subscriptAttributeTarget"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.SlashNoDefault wrapper-slashNoDefault :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashNoDefault-slashNoDefault x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.SlashNoDefault"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParameters :: Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParameters slash paramNoDefault paramWithDefault starEtc =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slash"),-          Core.fieldTerm = (Typed.unTypedTerm slash)},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]-slashNoDefaultParametersParamNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-        Core.projectionFieldName = (Core.Name "paramNoDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]-slashNoDefaultParametersParamWithDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-        Core.projectionFieldName = (Core.Name "paramWithDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the slash field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersSlash :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.SlashNoDefault-slashNoDefaultParametersSlash x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-        Core.projectionFieldName = (Core.Name "slash")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersSlashNoDefaultParameters :: Typed.TypedName Syntax.SlashNoDefaultParameters-slashNoDefaultParametersSlashNoDefaultParameters =-    Typed.TypedName (Core.Name "hydra.python.syntax.SlashNoDefaultParameters")---- | DSL accessor for the starEtc field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersStarEtc :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)-slashNoDefaultParametersStarEtc x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-        Core.projectionFieldName = (Core.Name "starEtc")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithParamNoDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slash"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "slash")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithParamWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slash"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "slash")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the slash field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithSlash :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithSlash original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slash"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashNoDefaultParameters-slashNoDefaultParametersWithStarEtc original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "slash"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "slash")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashNoDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.SlashNoDefault-slashNoDefaultSlashNoDefault :: Typed.TypedName Syntax.SlashNoDefault-slashNoDefaultSlashNoDefault = Typed.TypedName (Core.Name "hydra.python.syntax.SlashNoDefault")---- | DSL constructor for hydra.python.syntax.SlashWithDefault-slashWithDefault :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefault-slashWithDefault paramNoDefault paramWithDefault =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)}]}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashWithDefault-slashWithDefaultParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamNoDefault]-slashWithDefaultParamNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),-        Core.projectionFieldName = (Core.Name "paramNoDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashWithDefault-slashWithDefaultParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamWithDefault]-slashWithDefaultParamWithDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),-        Core.projectionFieldName = (Core.Name "paramWithDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParameters :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashWithDefaultParameters-slashWithDefaultParameters paramNoDefault paramWithDefault starEtc =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramNoDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm paramWithDefault)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm starEtc)}]}))---- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]-slashWithDefaultParametersParamNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-        Core.projectionFieldName = (Core.Name "paramNoDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]-slashWithDefaultParametersParamWithDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-        Core.projectionFieldName = (Core.Name "paramWithDefault")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersSlashWithDefaultParameters :: Typed.TypedName Syntax.SlashWithDefaultParameters-slashWithDefaultParametersSlashWithDefaultParameters =-    Typed.TypedName (Core.Name "hydra.python.syntax.SlashWithDefaultParameters")---- | DSL accessor for the starEtc field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersStarEtc :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)-slashWithDefaultParametersStarEtc x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-        Core.projectionFieldName = (Core.Name "starEtc")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithParamNoDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithParamWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-              Core.projectionFieldName = (Core.Name "starEtc")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the starEtc field of hydra.python.syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashWithDefaultParameters-slashWithDefaultParametersWithStarEtc original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefaultParameters"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "starEtc"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL name token for hydra.python.syntax.SlashWithDefault-slashWithDefaultSlashWithDefault :: Typed.TypedName Syntax.SlashWithDefault-slashWithDefaultSlashWithDefault = Typed.TypedName (Core.Name "hydra.python.syntax.SlashWithDefault")---- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashWithDefault-slashWithDefaultWithParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashWithDefault-slashWithDefaultWithParamNoDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),-              Core.projectionFieldName = (Core.Name "paramWithDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashWithDefault-slashWithDefaultWithParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefault-slashWithDefaultWithParamWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "paramNoDefault"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SlashWithDefault"),-              Core.projectionFieldName = (Core.Name "paramNoDefault")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "paramWithDefault"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.SliceExpression-sliceExpression :: Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression-sliceExpression start stop step =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "start"),-          Core.fieldTerm = (Typed.unTypedTerm start)},-        Core.Field {-          Core.fieldName = (Core.Name "stop"),-          Core.fieldTerm = (Typed.unTypedTerm stop)},-        Core.Field {-          Core.fieldName = (Core.Name "step"),-          Core.fieldTerm = (Typed.unTypedTerm step)}]}))---- | DSL name token for hydra.python.syntax.SliceExpression-sliceExpressionSliceExpression :: Typed.TypedName Syntax.SliceExpression-sliceExpressionSliceExpression = Typed.TypedName (Core.Name "hydra.python.syntax.SliceExpression")---- | DSL accessor for the start field of hydra.python.syntax.SliceExpression-sliceExpressionStart :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)-sliceExpressionStart x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-        Core.projectionFieldName = (Core.Name "start")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the step field of hydra.python.syntax.SliceExpression-sliceExpressionStep :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)-sliceExpressionStep x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-        Core.projectionFieldName = (Core.Name "step")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the stop field of hydra.python.syntax.SliceExpression-sliceExpressionStop :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)-sliceExpressionStop x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-        Core.projectionFieldName = (Core.Name "stop")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the start field of hydra.python.syntax.SliceExpression-sliceExpressionWithStart :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression-sliceExpressionWithStart original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "start"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "stop"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-              Core.projectionFieldName = (Core.Name "stop")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "step"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-              Core.projectionFieldName = (Core.Name "step")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the step field of hydra.python.syntax.SliceExpression-sliceExpressionWithStep :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression-sliceExpressionWithStep original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "start"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-              Core.projectionFieldName = (Core.Name "start")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "stop"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-              Core.projectionFieldName = (Core.Name "stop")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "step"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the stop field of hydra.python.syntax.SliceExpression-sliceExpressionWithStop :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression-sliceExpressionWithStop original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "start"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-              Core.projectionFieldName = (Core.Name "start")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "stop"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "step"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SliceExpression"),-              Core.projectionFieldName = (Core.Name "step")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the named variant of hydra.python.syntax.Slice-sliceNamed :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Slice-sliceNamed x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Slice"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "named"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the slice variant of hydra.python.syntax.SliceOrStarredExpression-sliceOrStarredExpressionSlice :: Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm Syntax.SliceOrStarredExpression-sliceOrStarredExpressionSlice x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SliceOrStarredExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "slice"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SliceOrStarredExpression-sliceOrStarredExpressionSliceOrStarredExpression :: Typed.TypedName Syntax.SliceOrStarredExpression-sliceOrStarredExpressionSliceOrStarredExpression =-    Typed.TypedName (Core.Name "hydra.python.syntax.SliceOrStarredExpression")---- | DSL injection for the starred variant of hydra.python.syntax.SliceOrStarredExpression-sliceOrStarredExpressionStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.SliceOrStarredExpression-sliceOrStarredExpressionStarred x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SliceOrStarredExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starred"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Slice-sliceSlice :: Typed.TypedName Syntax.Slice-sliceSlice = Typed.TypedName (Core.Name "hydra.python.syntax.Slice")---- | DSL injection for the slice_ variant of hydra.python.syntax.Slice-sliceSlice_ :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm Syntax.Slice-sliceSlice_ x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Slice"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "slice_"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.Slices-slices :: Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Slices-slices head tail =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Slices"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "head"),-          Core.fieldTerm = (Typed.unTypedTerm head)},-        Core.Field {-          Core.fieldName = (Core.Name "tail"),-          Core.fieldTerm = (Typed.unTypedTerm tail)}]}))---- | DSL accessor for the head field of hydra.python.syntax.Slices-slicesHead :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.Slice-slicesHead x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Slices"),-        Core.projectionFieldName = (Core.Name "head")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Slices-slicesSlices :: Typed.TypedName Syntax.Slices-slicesSlices = Typed.TypedName (Core.Name "hydra.python.syntax.Slices")---- | DSL accessor for the tail field of hydra.python.syntax.Slices-slicesTail :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm [Syntax.SliceOrStarredExpression]-slicesTail x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Slices"),-        Core.projectionFieldName = (Core.Name "tail")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the head field of hydra.python.syntax.Slices-slicesWithHead :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm Syntax.Slices-slicesWithHead original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Slices"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "head"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "tail"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Slices"),-              Core.projectionFieldName = (Core.Name "tail")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the tail field of hydra.python.syntax.Slices-slicesWithTail :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Slices-slicesWithTail original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Slices"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "head"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Slices"),-              Core.projectionFieldName = (Core.Name "head")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "tail"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.StarAnnotation wrapper-starAnnotation :: Typed.TypedTerm Syntax.StarExpression -> Typed.TypedTerm Syntax.StarAnnotation-starAnnotation x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarAnnotation"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarAnnotation-starAnnotationStarAnnotation :: Typed.TypedName Syntax.StarAnnotation-starAnnotationStarAnnotation = Typed.TypedName (Core.Name "hydra.python.syntax.StarAnnotation")---- | DSL injection for the name variant of hydra.python.syntax.StarAtom-starAtomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarAtom-starAtomName x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "name"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarAtom-starAtomStarAtom :: Typed.TypedName Syntax.StarAtom-starAtomStarAtom = Typed.TypedName (Core.Name "hydra.python.syntax.StarAtom")---- | DSL injection for the starTargetsListSeq variant of hydra.python.syntax.StarAtom-starAtomStarTargetsListSeq :: Typed.TypedTerm (Maybe Syntax.StarTargetsListSeq) -> Typed.TypedTerm Syntax.StarAtom-starAtomStarTargetsListSeq x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starTargetsListSeq"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starTargetsTupleSeq variant of hydra.python.syntax.StarAtom-starAtomStarTargetsTupleSeq :: Typed.TypedTerm (Maybe Syntax.StarTargetsTupleSeq) -> Typed.TypedTerm Syntax.StarAtom-starAtomStarTargetsTupleSeq x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starTargetsTupleSeq"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the targetWithStarAtom variant of hydra.python.syntax.StarAtom-starAtomTargetWithStarAtom :: Typed.TypedTerm Syntax.TargetWithStarAtom -> Typed.TypedTerm Syntax.StarAtom-starAtomTargetWithStarAtom x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "targetWithStarAtom"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the keywords variant of hydra.python.syntax.StarEtc-starEtcKeywords :: Typed.TypedTerm Syntax.Keywords -> Typed.TypedTerm Syntax.StarEtc-starEtcKeywords x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarEtc"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "keywords"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starComma variant of hydra.python.syntax.StarEtc-starEtcStarComma :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm Syntax.StarEtc-starEtcStarComma x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarEtc"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starComma"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarEtc-starEtcStarEtc :: Typed.TypedName Syntax.StarEtc-starEtcStarEtc = Typed.TypedName (Core.Name "hydra.python.syntax.StarEtc")---- | DSL injection for the starNoDefault variant of hydra.python.syntax.StarEtc-starEtcStarNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.StarEtc-starEtcStarNoDefault x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarEtc"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starNoDefault"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starNoDefaultStarAnnotation variant of hydra.python.syntax.StarEtc-starEtcStarNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.StarEtc-starEtcStarNoDefaultStarAnnotation x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarEtc"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starNoDefaultStarAnnotation"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.StarExpression-starExpressionSimple :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarExpression-starExpressionSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.StarExpression-starExpressionStar :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.StarExpression-starExpressionStar x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "star"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarExpression-starExpressionStarExpression :: Typed.TypedName Syntax.StarExpression-starExpressionStarExpression = Typed.TypedName (Core.Name "hydra.python.syntax.StarExpression")---- | DSL injection for the simple variant of hydra.python.syntax.StarNamedExpression-starNamedExpressionSimple :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.StarNamedExpression-starNamedExpressionSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarNamedExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.StarNamedExpression-starNamedExpressionStar :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.StarNamedExpression-starNamedExpressionStar x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarNamedExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "star"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarNamedExpression-starNamedExpressionStarNamedExpression :: Typed.TypedName Syntax.StarNamedExpression-starNamedExpressionStarNamedExpression = Typed.TypedName (Core.Name "hydra.python.syntax.StarNamedExpression")---- | DSL constructor for the hydra.python.syntax.StarNamedExpressions wrapper-starNamedExpressions :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.StarNamedExpressions-starNamedExpressions x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarNamedExpressions"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarNamedExpressions-starNamedExpressionsStarNamedExpressions :: Typed.TypedName Syntax.StarNamedExpressions-starNamedExpressionsStarNamedExpressions = Typed.TypedName (Core.Name "hydra.python.syntax.StarNamedExpressions")---- | DSL injection for the capture variant of hydra.python.syntax.StarPattern-starPatternCapture :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.StarPattern-starPatternCapture x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "capture"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.StarPattern-starPatternStarPattern :: Typed.TypedName Syntax.StarPattern-starPatternStarPattern = Typed.TypedName (Core.Name "hydra.python.syntax.StarPattern")---- | DSL injection for the wildcard variant of hydra.python.syntax.StarPattern-starPatternWildcard :: Typed.TypedTerm Syntax.StarPattern-starPatternWildcard =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarPattern"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "wildcard"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.StarTarget-starTargetStarTarget :: Typed.TypedName Syntax.StarTarget-starTargetStarTarget = Typed.TypedName (Core.Name "hydra.python.syntax.StarTarget")---- | DSL injection for the starred variant of hydra.python.syntax.StarTarget-starTargetStarred :: Typed.TypedTerm Syntax.StarTarget -> Typed.TypedTerm Syntax.StarTarget-starTargetStarred x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starred"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the unstarred variant of hydra.python.syntax.StarTarget-starTargetUnstarred :: Typed.TypedTerm Syntax.TargetWithStarAtom -> Typed.TypedTerm Syntax.StarTarget-starTargetUnstarred x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StarTarget"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "unstarred"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for the hydra.python.syntax.StarTargetsListSeq wrapper-starTargetsListSeq :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.StarTargetsListSeq-starTargetsListSeq x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarTargetsListSeq"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarTargetsListSeq-starTargetsListSeqStarTargetsListSeq :: Typed.TypedName Syntax.StarTargetsListSeq-starTargetsListSeqStarTargetsListSeq = Typed.TypedName (Core.Name "hydra.python.syntax.StarTargetsListSeq")---- | DSL constructor for the hydra.python.syntax.StarTargetsTupleSeq wrapper-starTargetsTupleSeq :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.StarTargetsTupleSeq-starTargetsTupleSeq x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarTargetsTupleSeq"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarTargetsTupleSeq-starTargetsTupleSeqStarTargetsTupleSeq :: Typed.TypedName Syntax.StarTargetsTupleSeq-starTargetsTupleSeqStarTargetsTupleSeq = Typed.TypedName (Core.Name "hydra.python.syntax.StarTargetsTupleSeq")---- | DSL constructor for hydra.python.syntax.StarTypeParameter-starTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.StarExpression) -> Typed.TypedTerm Syntax.StarTypeParameter-starTypeParameter name default_ =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm default_)}]}))---- | DSL accessor for the default field of hydra.python.syntax.StarTypeParameter-starTypeParameterDefault :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm (Maybe Syntax.StarExpression)-starTypeParameterDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),-        Core.projectionFieldName = (Core.Name "default")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.StarTypeParameter-starTypeParameterName :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.Name-starTypeParameterName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarTypeParameter-starTypeParameterStarTypeParameter :: Typed.TypedName Syntax.StarTypeParameter-starTypeParameterStarTypeParameter = Typed.TypedName (Core.Name "hydra.python.syntax.StarTypeParameter")---- | DSL updater for the default field of hydra.python.syntax.StarTypeParameter-starTypeParameterWithDefault :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm (Maybe Syntax.StarExpression) -> Typed.TypedTerm Syntax.StarTypeParameter-starTypeParameterWithDefault original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.StarTypeParameter-starTypeParameterWithName :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarTypeParameter-starTypeParameterWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "default"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.StarTypeParameter"),-              Core.projectionFieldName = (Core.Name "default")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.StarredExpression wrapper-starredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarredExpression-starredExpression x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.StarredExpression"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.StarredExpression-starredExpressionStarredExpression :: Typed.TypedName Syntax.StarredExpression-starredExpressionStarredExpression = Typed.TypedName (Core.Name "hydra.python.syntax.StarredExpression")---- | DSL injection for the annotated variant of hydra.python.syntax.Statement-statementAnnotated :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement-statementAnnotated x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Statement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "annotated"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the compound variant of hydra.python.syntax.Statement-statementCompound :: Typed.TypedTerm Syntax.CompoundStatement -> Typed.TypedTerm Syntax.Statement-statementCompound x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Statement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "compound"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.Statement-statementSimple :: Typed.TypedTerm [Syntax.SimpleStatement] -> Typed.TypedTerm Syntax.Statement-statementSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.Statement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.Statement-statementStatement :: Typed.TypedName Syntax.Statement-statementStatement = Typed.TypedName (Core.Name "hydra.python.syntax.Statement")---- | DSL constructor for hydra.python.syntax.String-string :: Typed.TypedTerm String -> Typed.TypedTerm (Maybe Syntax.StringPrefix) -> Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm Syntax.String_-string value prefix quoteStyle =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.String"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Typed.unTypedTerm value)},-        Core.Field {-          Core.fieldName = (Core.Name "prefix"),-          Core.fieldTerm = (Typed.unTypedTerm prefix)},-        Core.Field {-          Core.fieldName = (Core.Name "quoteStyle"),-          Core.fieldTerm = (Typed.unTypedTerm quoteStyle)}]}))---- | DSL accessor for the prefix field of hydra.python.syntax.String-stringPrefix :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm (Maybe Syntax.StringPrefix)-stringPrefix x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),-        Core.projectionFieldName = (Core.Name "prefix")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL injection for the bytes variant of hydra.python.syntax.StringPrefix-stringPrefixBytes :: Typed.TypedTerm Syntax.StringPrefix-stringPrefixBytes =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StringPrefix"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "bytes"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the raw variant of hydra.python.syntax.StringPrefix-stringPrefixRaw :: Typed.TypedTerm Syntax.StringPrefix-stringPrefixRaw =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StringPrefix"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "raw"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the rawBytes variant of hydra.python.syntax.StringPrefix-stringPrefixRawBytes :: Typed.TypedTerm Syntax.StringPrefix-stringPrefixRawBytes =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StringPrefix"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "rawBytes"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.StringPrefix-stringPrefixStringPrefix :: Typed.TypedName Syntax.StringPrefix-stringPrefixStringPrefix = Typed.TypedName (Core.Name "hydra.python.syntax.StringPrefix")---- | DSL injection for the unicode variant of hydra.python.syntax.StringPrefix-stringPrefixUnicode :: Typed.TypedTerm Syntax.StringPrefix-stringPrefixUnicode =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.StringPrefix"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "unicode"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL accessor for the quoteStyle field of hydra.python.syntax.String-stringQuoteStyle :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.QuoteStyle-stringQuoteStyle x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),-        Core.projectionFieldName = (Core.Name "quoteStyle")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.String-stringString :: Typed.TypedName Syntax.String_-stringString = Typed.TypedName (Core.Name "hydra.python.syntax.String")---- | DSL accessor for the value field of hydra.python.syntax.String-stringValue :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm String-stringValue x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),-        Core.projectionFieldName = (Core.Name "value")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the prefix field of hydra.python.syntax.String-stringWithPrefix :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm (Maybe Syntax.StringPrefix) -> Typed.TypedTerm Syntax.String_-stringWithPrefix original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.String"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),-              Core.projectionFieldName = (Core.Name "value")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "prefix"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "quoteStyle"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),-              Core.projectionFieldName = (Core.Name "quoteStyle")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the quoteStyle field of hydra.python.syntax.String-stringWithQuoteStyle :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm Syntax.String_-stringWithQuoteStyle original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.String"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),-              Core.projectionFieldName = (Core.Name "value")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "prefix"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),-              Core.projectionFieldName = (Core.Name "prefix")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "quoteStyle"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the value field of hydra.python.syntax.String-stringWithValue :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.String_-stringWithValue original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.String"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "value"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "prefix"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),-              Core.projectionFieldName = (Core.Name "prefix")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "quoteStyle"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.String"),-              Core.projectionFieldName = (Core.Name "quoteStyle")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the simple variant of hydra.python.syntax.SubjectExpression-subjectExpressionSimple :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.SubjectExpression-subjectExpressionSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SubjectExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.SubjectExpression-subjectExpressionSubjectExpression :: Typed.TypedName Syntax.SubjectExpression-subjectExpressionSubjectExpression = Typed.TypedName (Core.Name "hydra.python.syntax.SubjectExpression")---- | DSL injection for the tuple variant of hydra.python.syntax.SubjectExpression-subjectExpressionTuple :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.SubjectExpression-subjectExpressionTuple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SubjectExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "tuple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL constructor for hydra.python.syntax.Sum-sum :: Typed.TypedTerm (Maybe Syntax.SumLhs) -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Sum-sum lhs rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Sum"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.Sum-sumLhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm (Maybe Syntax.SumLhs)-sumLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Sum"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.SumLhs-sumLhs2 :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.SumOp -> Typed.TypedTerm Syntax.SumLhs-sumLhs2 operand operator =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SumLhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operand"),-          Core.fieldTerm = (Typed.unTypedTerm operand)},-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Typed.unTypedTerm operator)}]}))---- | DSL accessor for the operand field of hydra.python.syntax.SumLhs-sumLhsOperand :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.Sum-sumLhsOperand x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SumLhs"),-        Core.projectionFieldName = (Core.Name "operand")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the operator field of hydra.python.syntax.SumLhs-sumLhsOperator :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.SumOp-sumLhsOperator x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.SumLhs"),-        Core.projectionFieldName = (Core.Name "operator")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.SumLhs-sumLhsSumLhs :: Typed.TypedName Syntax.SumLhs-sumLhsSumLhs = Typed.TypedName (Core.Name "hydra.python.syntax.SumLhs")---- | DSL updater for the operand field of hydra.python.syntax.SumLhs-sumLhsWithOperand :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.SumLhs-sumLhsWithOperand original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SumLhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operand"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SumLhs"),-              Core.projectionFieldName = (Core.Name "operator")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the operator field of hydra.python.syntax.SumLhs-sumLhsWithOperator :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.SumOp -> Typed.TypedTerm Syntax.SumLhs-sumLhsWithOperator original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.SumLhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operand"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.SumLhs"),-              Core.projectionFieldName = (Core.Name "operand")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the add variant of hydra.python.syntax.SumOp-sumOpAdd :: Typed.TypedTerm Syntax.SumOp-sumOpAdd =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SumOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "add"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the sub variant of hydra.python.syntax.SumOp-sumOpSub :: Typed.TypedTerm Syntax.SumOp-sumOpSub =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.SumOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "sub"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.SumOp-sumOpSumOp :: Typed.TypedName Syntax.SumOp-sumOpSumOp = Typed.TypedName (Core.Name "hydra.python.syntax.SumOp")---- | DSL accessor for the rhs field of hydra.python.syntax.Sum-sumRhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.Term-sumRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Sum"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Sum-sumSum :: Typed.TypedName Syntax.Sum-sumSum = Typed.TypedName (Core.Name "hydra.python.syntax.Sum")---- | DSL updater for the lhs field of hydra.python.syntax.Sum-sumWithLhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm (Maybe Syntax.SumLhs) -> Typed.TypedTerm Syntax.Sum-sumWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Sum"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Sum"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.Sum-sumWithRhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Sum-sumWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Sum"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Sum"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArguments :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.TPrimaryAndArguments-tPrimaryAndArguments primary arguments =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm primary)},-        Core.Field {-          Core.fieldName = (Core.Name "arguments"),-          Core.fieldTerm = (Typed.unTypedTerm arguments)}]}))---- | DSL accessor for the arguments field of hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm (Maybe Syntax.Args)-tPrimaryAndArgumentsArguments x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),-        Core.projectionFieldName = (Core.Name "arguments")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsPrimary :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAndArgumentsPrimary x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),-        Core.projectionFieldName = (Core.Name "primary")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsTPrimaryAndArguments :: Typed.TypedName Syntax.TPrimaryAndArguments-tPrimaryAndArgumentsTPrimaryAndArguments = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimaryAndArguments")---- | DSL updater for the arguments field of hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsWithArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.TPrimaryAndArguments-tPrimaryAndArgumentsWithArguments original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),-              Core.projectionFieldName = (Core.Name "primary")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "arguments"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndArguments-tPrimaryAndArgumentsWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndArguments-tPrimaryAndArgumentsWithPrimary original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "arguments"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndArguments"),-              Core.projectionFieldName = (Core.Name "arguments")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexp :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.TPrimaryAndGenexp-tPrimaryAndGenexp primary genexp =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm primary)},-        Core.Field {-          Core.fieldName = (Core.Name "genexp"),-          Core.fieldTerm = (Typed.unTypedTerm genexp)}]}))---- | DSL accessor for the genexp field of hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.Genexp-tPrimaryAndGenexpGenexp x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),-        Core.projectionFieldName = (Core.Name "genexp")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpPrimary :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAndGenexpPrimary x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),-        Core.projectionFieldName = (Core.Name "primary")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpTPrimaryAndGenexp :: Typed.TypedName Syntax.TPrimaryAndGenexp-tPrimaryAndGenexpTPrimaryAndGenexp = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimaryAndGenexp")---- | DSL updater for the genexp field of hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpWithGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.TPrimaryAndGenexp-tPrimaryAndGenexpWithGenexp original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),-              Core.projectionFieldName = (Core.Name "primary")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "genexp"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndGenexp-tPrimaryAndGenexpWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndGenexp-tPrimaryAndGenexpWithPrimary original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "genexp"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndGenexp"),-              Core.projectionFieldName = (Core.Name "genexp")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.TPrimaryAndName-tPrimaryAndName :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TPrimaryAndName-tPrimaryAndName primary name =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm primary)},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)}]}))---- | DSL accessor for the name field of hydra.python.syntax.TPrimaryAndName-tPrimaryAndNameName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.Name-tPrimaryAndNameName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndName-tPrimaryAndNamePrimary :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAndNamePrimary x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),-        Core.projectionFieldName = (Core.Name "primary")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TPrimaryAndName-tPrimaryAndNameTPrimaryAndName :: Typed.TypedName Syntax.TPrimaryAndName-tPrimaryAndNameTPrimaryAndName = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimaryAndName")---- | DSL updater for the name field of hydra.python.syntax.TPrimaryAndName-tPrimaryAndNameWithName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TPrimaryAndName-tPrimaryAndNameWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),-              Core.projectionFieldName = (Core.Name "primary")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndName-tPrimaryAndNameWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndName-tPrimaryAndNameWithPrimary original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndName"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.TPrimaryAndSlices-tPrimaryAndSlices primary slices =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm primary)},-        Core.Field {-          Core.fieldName = (Core.Name "slices"),-          Core.fieldTerm = (Typed.unTypedTerm slices)}]}))---- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesPrimary :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAndSlicesPrimary x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),-        Core.projectionFieldName = (Core.Name "primary")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the slices field of hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.Slices-tPrimaryAndSlicesSlices x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),-        Core.projectionFieldName = (Core.Name "slices")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesTPrimaryAndSlices :: Typed.TypedName Syntax.TPrimaryAndSlices-tPrimaryAndSlicesTPrimaryAndSlices = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimaryAndSlices")---- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndSlices-tPrimaryAndSlicesWithPrimary original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "slices"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),-              Core.projectionFieldName = (Core.Name "slices")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the slices field of hydra.python.syntax.TPrimaryAndSlices-tPrimaryAndSlicesWithSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.TPrimaryAndSlices-tPrimaryAndSlicesWithSlices original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "primary"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TPrimaryAndSlices"),-              Core.projectionFieldName = (Core.Name "primary")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "slices"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the atom variant of hydra.python.syntax.TPrimary-tPrimaryAtom :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.TPrimary-tPrimaryAtom x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "atom"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndArguments variant of hydra.python.syntax.TPrimary-tPrimaryPrimaryAndArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary-tPrimaryPrimaryAndArguments x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "primaryAndArguments"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndGenexp variant of hydra.python.syntax.TPrimary-tPrimaryPrimaryAndGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary-tPrimaryPrimaryAndGenexp x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "primaryAndGenexp"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndName variant of hydra.python.syntax.TPrimary-tPrimaryPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary-tPrimaryPrimaryAndName x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "primaryAndName"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.TPrimary-tPrimaryPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary-tPrimaryPrimaryAndSlices x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TPrimary"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "primaryAndSlices"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TPrimary-tPrimaryTPrimary :: Typed.TypedName Syntax.TPrimary-tPrimaryTPrimary = Typed.TypedName (Core.Name "hydra.python.syntax.TPrimary")---- | DSL injection for the atom variant of hydra.python.syntax.TargetWithStarAtom-targetWithStarAtomAtom :: Typed.TypedTerm Syntax.StarAtom -> Typed.TypedTerm Syntax.TargetWithStarAtom-targetWithStarAtomAtom x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TargetWithStarAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "atom"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the project variant of hydra.python.syntax.TargetWithStarAtom-targetWithStarAtomProject :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TargetWithStarAtom-targetWithStarAtomProject x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TargetWithStarAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "project"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the slices variant of hydra.python.syntax.TargetWithStarAtom-targetWithStarAtomSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TargetWithStarAtom-targetWithStarAtomSlices x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TargetWithStarAtom"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "slices"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TargetWithStarAtom-targetWithStarAtomTargetWithStarAtom :: Typed.TypedName Syntax.TargetWithStarAtom-targetWithStarAtomTargetWithStarAtom = Typed.TypedName (Core.Name "hydra.python.syntax.TargetWithStarAtom")---- | DSL constructor for hydra.python.syntax.Term-term :: Typed.TypedTerm (Maybe Syntax.TermLhs) -> Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Term-term lhs rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Term"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.Term-termLhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm (Maybe Syntax.TermLhs)-termLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Term"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.TermLhs-termLhs2 :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermOp -> Typed.TypedTerm Syntax.TermLhs-termLhs2 operand operator =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TermLhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operand"),-          Core.fieldTerm = (Typed.unTypedTerm operand)},-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Typed.unTypedTerm operator)}]}))---- | DSL accessor for the operand field of hydra.python.syntax.TermLhs-termLhsOperand :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.Term-termLhsOperand x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TermLhs"),-        Core.projectionFieldName = (Core.Name "operand")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the operator field of hydra.python.syntax.TermLhs-termLhsOperator :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.TermOp-termLhsOperator x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TermLhs"),-        Core.projectionFieldName = (Core.Name "operator")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TermLhs-termLhsTermLhs :: Typed.TypedName Syntax.TermLhs-termLhsTermLhs = Typed.TypedName (Core.Name "hydra.python.syntax.TermLhs")---- | DSL updater for the operand field of hydra.python.syntax.TermLhs-termLhsWithOperand :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermLhs-termLhsWithOperand original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TermLhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operand"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TermLhs"),-              Core.projectionFieldName = (Core.Name "operator")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the operator field of hydra.python.syntax.TermLhs-termLhsWithOperator :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.TermOp -> Typed.TypedTerm Syntax.TermLhs-termLhsWithOperator original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TermLhs"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "operand"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TermLhs"),-              Core.projectionFieldName = (Core.Name "operand")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "operator"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the div variant of hydra.python.syntax.TermOp-termOpDiv :: Typed.TypedTerm Syntax.TermOp-termOpDiv =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "div"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the floordiv variant of hydra.python.syntax.TermOp-termOpFloordiv :: Typed.TypedTerm Syntax.TermOp-termOpFloordiv =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "floordiv"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the matmul variant of hydra.python.syntax.TermOp-termOpMatmul :: Typed.TypedTerm Syntax.TermOp-termOpMatmul =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "matmul"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the mod variant of hydra.python.syntax.TermOp-termOpMod :: Typed.TypedTerm Syntax.TermOp-termOpMod =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "mod"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL injection for the mul variant of hydra.python.syntax.TermOp-termOpMul :: Typed.TypedTerm Syntax.TermOp-termOpMul =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TermOp"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "mul"),-        Core.fieldTerm = Core.TermUnit}}))---- | DSL name token for hydra.python.syntax.TermOp-termOpTermOp :: Typed.TypedName Syntax.TermOp-termOpTermOp = Typed.TypedName (Core.Name "hydra.python.syntax.TermOp")---- | DSL accessor for the rhs field of hydra.python.syntax.Term-termRhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Factor-termRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.Term"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Term-termTerm :: Typed.TypedName Syntax.Term-termTerm = Typed.TypedName (Core.Name "hydra.python.syntax.Term")---- | DSL updater for the lhs field of hydra.python.syntax.Term-termWithLhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm (Maybe Syntax.TermLhs) -> Typed.TypedTerm Syntax.Term-termWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Term"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Term"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.Term-termWithRhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Term-termWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.Term"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.Term"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm [Syntax.ExceptStarBlock] -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatement body excepts else_ finally =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Typed.unTypedTerm excepts)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm else_)},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Typed.unTypedTerm finally)}]}))---- | DSL accessor for the body field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementBody :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.Block-tryExceptStarStatementBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the else field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementElse :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block)-tryExceptStarStatementElse x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-        Core.projectionFieldName = (Core.Name "else")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the excepts field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementExcepts :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm [Syntax.ExceptStarBlock]-tryExceptStarStatementExcepts x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-        Core.projectionFieldName = (Core.Name "excepts")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the finally field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementFinally :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block)-tryExceptStarStatementFinally x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-        Core.projectionFieldName = (Core.Name "finally")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementTryExceptStarStatement :: Typed.TypedName Syntax.TryExceptStarStatement-tryExceptStarStatementTryExceptStarStatement = Typed.TypedName (Core.Name "hydra.python.syntax.TryExceptStarStatement")---- | DSL updater for the body field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementWithBody :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatementWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "excepts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "finally")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementWithElse :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatementWithElse original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "excepts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "finally")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the excepts field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementWithExcepts :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm [Syntax.ExceptStarBlock] -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatementWithExcepts original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "finally")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the finally field of hydra.python.syntax.TryExceptStarStatement-tryExceptStarStatementWithFinally :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement-tryExceptStarStatementWithFinally original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "excepts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStarStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.TryExceptStatement-tryExceptStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm [Syntax.ExceptBlock] -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatement body excepts else_ finally =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Typed.unTypedTerm excepts)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm else_)},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Typed.unTypedTerm finally)}]}))---- | DSL accessor for the body field of hydra.python.syntax.TryExceptStatement-tryExceptStatementBody :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.Block-tryExceptStatementBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the else field of hydra.python.syntax.TryExceptStatement-tryExceptStatementElse :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block)-tryExceptStatementElse x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-        Core.projectionFieldName = (Core.Name "else")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the excepts field of hydra.python.syntax.TryExceptStatement-tryExceptStatementExcepts :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm [Syntax.ExceptBlock]-tryExceptStatementExcepts x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-        Core.projectionFieldName = (Core.Name "excepts")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the finally field of hydra.python.syntax.TryExceptStatement-tryExceptStatementFinally :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block)-tryExceptStatementFinally x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-        Core.projectionFieldName = (Core.Name "finally")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TryExceptStatement-tryExceptStatementTryExceptStatement :: Typed.TypedName Syntax.TryExceptStatement-tryExceptStatementTryExceptStatement = Typed.TypedName (Core.Name "hydra.python.syntax.TryExceptStatement")---- | DSL updater for the body field of hydra.python.syntax.TryExceptStatement-tryExceptStatementWithBody :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatementWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "excepts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "finally")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.TryExceptStatement-tryExceptStatementWithElse :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatementWithElse original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "excepts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "finally")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the excepts field of hydra.python.syntax.TryExceptStatement-tryExceptStatementWithExcepts :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm [Syntax.ExceptBlock] -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatementWithExcepts original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "finally")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the finally field of hydra.python.syntax.TryExceptStatement-tryExceptStatementWithFinally :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement-tryExceptStatementWithFinally original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "excepts"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "excepts")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryExceptStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.TryFinallyStatement-tryFinallyStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement-tryFinallyStatement body finally =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Typed.unTypedTerm finally)}]}))---- | DSL accessor for the body field of hydra.python.syntax.TryFinallyStatement-tryFinallyStatementBody :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block-tryFinallyStatementBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the finally field of hydra.python.syntax.TryFinallyStatement-tryFinallyStatementFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block-tryFinallyStatementFinally x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),-        Core.projectionFieldName = (Core.Name "finally")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TryFinallyStatement-tryFinallyStatementTryFinallyStatement :: Typed.TypedName Syntax.TryFinallyStatement-tryFinallyStatementTryFinallyStatement = Typed.TypedName (Core.Name "hydra.python.syntax.TryFinallyStatement")---- | DSL updater for the body field of hydra.python.syntax.TryFinallyStatement-tryFinallyStatementWithBody :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement-tryFinallyStatementWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),-              Core.projectionFieldName = (Core.Name "finally")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the finally field of hydra.python.syntax.TryFinallyStatement-tryFinallyStatementWithFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement-tryFinallyStatementWithFinally original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TryFinallyStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "finally"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL injection for the except variant of hydra.python.syntax.TryStatement-tryStatementExcept :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.TryStatement-tryStatementExcept x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TryStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "except"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the exceptStar variant of hydra.python.syntax.TryStatement-tryStatementExceptStar :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.TryStatement-tryStatementExceptStar x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TryStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "exceptStar"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the finally variant of hydra.python.syntax.TryStatement-tryStatementFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.TryStatement-tryStatementFinally x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TryStatement"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "finally"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TryStatement-tryStatementTryStatement :: Typed.TypedName Syntax.TryStatement-tryStatementTryStatement = Typed.TypedName (Core.Name "hydra.python.syntax.TryStatement")---- | DSL constructor for the hydra.python.syntax.Tuple wrapper-tuple :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.Tuple-tuple x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.Tuple"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.Tuple-tupleTuple :: Typed.TypedName Syntax.Tuple-tupleTuple = Typed.TypedName (Core.Name "hydra.python.syntax.Tuple")---- | DSL constructor for hydra.python.syntax.TypeAlias-typeAlias :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeAlias-typeAlias name typeParams expression =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm name)},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Typed.unTypedTerm typeParams)},-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm expression)}]}))---- | DSL accessor for the expression field of hydra.python.syntax.TypeAlias-typeAliasExpression :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Expression-typeAliasExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-        Core.projectionFieldName = (Core.Name "expression")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the name field of hydra.python.syntax.TypeAlias-typeAliasName :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Name-typeAliasName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-        Core.projectionFieldName = (Core.Name "name")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TypeAlias-typeAliasTypeAlias :: Typed.TypedName Syntax.TypeAlias-typeAliasTypeAlias = Typed.TypedName (Core.Name "hydra.python.syntax.TypeAlias")---- | DSL accessor for the typeParams field of hydra.python.syntax.TypeAlias-typeAliasTypeParams :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm [Syntax.TypeParameter]-typeAliasTypeParams x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-        Core.projectionFieldName = (Core.Name "typeParams")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the expression field of hydra.python.syntax.TypeAlias-typeAliasWithExpression :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeAlias-typeAliasWithExpression original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the name field of hydra.python.syntax.TypeAlias-typeAliasWithName :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TypeAlias-typeAliasWithName original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-              Core.projectionFieldName = (Core.Name "typeParams")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeParams field of hydra.python.syntax.TypeAlias-typeAliasWithTypeParams :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.TypeAlias-typeAliasWithTypeParams original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "name"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-              Core.projectionFieldName = (Core.Name "name")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeParams"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypeAlias"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL constructor for the hydra.python.syntax.TypeComment wrapper-typeComment :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.TypeComment-typeComment x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.TypeComment"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TypeComment-typeCommentTypeComment :: Typed.TypedName Syntax.TypeComment-typeCommentTypeComment = Typed.TypedName (Core.Name "hydra.python.syntax.TypeComment")---- | DSL injection for the doubleStarredExpression variant of hydra.python.syntax.TypeExpression-typeExpressionDoubleStarredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression-typeExpressionDoubleStarredExpression x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "doubleStarredExpression"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the expression variant of hydra.python.syntax.TypeExpression-typeExpressionExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression-typeExpressionExpression x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "expression"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the starredExpression variant of hydra.python.syntax.TypeExpression-typeExpressionStarredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression-typeExpressionStarredExpression x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "starredExpression"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TypeExpression-typeExpressionTypeExpression :: Typed.TypedName Syntax.TypeExpression-typeExpressionTypeExpression = Typed.TypedName (Core.Name "hydra.python.syntax.TypeExpression")---- | DSL injection for the doubleStar variant of hydra.python.syntax.TypeParameter-typeParameterDoubleStar :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.TypeParameter-typeParameterDoubleStar x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeParameter"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "doubleStar"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.TypeParameter-typeParameterSimple :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.TypeParameter-typeParameterSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeParameter"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the star variant of hydra.python.syntax.TypeParameter-typeParameterStar :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.TypeParameter-typeParameterStar x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.TypeParameter"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "star"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.TypeParameter-typeParameterTypeParameter :: Typed.TypedName Syntax.TypeParameter-typeParameterTypeParameter = Typed.TypedName (Core.Name "hydra.python.syntax.TypeParameter")---- | DSL constructor for hydra.python.syntax.TypedAssignment-typedAssignment :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs) -> Typed.TypedTerm Syntax.TypedAssignment-typedAssignment lhs type_ rhs =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm lhs)},-        Core.Field {-          Core.fieldName = (Core.Name "type"),-          Core.fieldTerm = (Typed.unTypedTerm type_)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)}]}))---- | DSL accessor for the lhs field of hydra.python.syntax.TypedAssignment-typedAssignmentLhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.SingleTarget-typedAssignmentLhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-        Core.projectionFieldName = (Core.Name "lhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the rhs field of hydra.python.syntax.TypedAssignment-typedAssignmentRhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs)-typedAssignmentRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the type field of hydra.python.syntax.TypedAssignment-typedAssignmentType :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Expression-typedAssignmentType x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-        Core.projectionFieldName = (Core.Name "type")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.TypedAssignment-typedAssignmentTypedAssignment :: Typed.TypedName Syntax.TypedAssignment-typedAssignmentTypedAssignment = Typed.TypedName (Core.Name "hydra.python.syntax.TypedAssignment")---- | DSL updater for the lhs field of hydra.python.syntax.TypedAssignment-typedAssignmentWithLhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.TypedAssignment-typedAssignmentWithLhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "type"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-              Core.projectionFieldName = (Core.Name "type")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the rhs field of hydra.python.syntax.TypedAssignment-typedAssignmentWithRhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs) -> Typed.TypedTerm Syntax.TypedAssignment-typedAssignmentWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "type"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-              Core.projectionFieldName = (Core.Name "type")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the type field of hydra.python.syntax.TypedAssignment-typedAssignmentWithType :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypedAssignment-typedAssignmentWithType original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "lhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-              Core.projectionFieldName = (Core.Name "lhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "type"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.TypedAssignment"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL accessor for the body of hydra.python.syntax.Annotation-unAnnotation :: Typed.TypedTerm Syntax.Annotation -> Typed.TypedTerm Syntax.Expression-unAnnotation x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Annotation")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Attribute-unAttribute :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm [Syntax.Name]-unAttribute x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Attribute")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.CapturePattern-unCapturePattern :: Typed.TypedTerm Syntax.CapturePattern -> Typed.TypedTerm Syntax.PatternCaptureTarget-unCapturePattern x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.CapturePattern")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Conjunction-unConjunction :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm [Syntax.Inversion]-unConjunction x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Conjunction")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Decorators-unDecorators :: Typed.TypedTerm Syntax.Decorators -> Typed.TypedTerm [Syntax.NamedExpression]-unDecorators x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Decorators")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Default-unDefault :: Typed.TypedTerm Syntax.Default -> Typed.TypedTerm Syntax.Expression-unDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Default")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.DelStatement-unDelStatement :: Typed.TypedTerm Syntax.DelStatement -> Typed.TypedTerm Syntax.DelTargets-unDelStatement x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.DelStatement")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.DelTargets-unDelTargets :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm [Syntax.DelTarget]-unDelTargets x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.DelTargets")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Dict-unDict :: Typed.TypedTerm Syntax.Dict -> Typed.TypedTerm [Syntax.DoubleStarredKvpair]-unDict x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Dict")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Disjunction-unDisjunction :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm [Syntax.Conjunction]-unDisjunction x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Disjunction")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.DottedName-unDottedName :: Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm [Syntax.Name]-unDottedName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.DottedName")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.DoubleStarPattern-unDoubleStarPattern :: Typed.TypedTerm Syntax.DoubleStarPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget-unDoubleStarPattern x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.DoubleStarPattern")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Eval-unEval :: Typed.TypedTerm Syntax.Eval -> Typed.TypedTerm [Syntax.Expression]-unEval x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Eval")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.File-unFile :: Typed.TypedTerm Syntax.File -> Typed.TypedTerm [Syntax.Statement]-unFile x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.File")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ForIfClauses-unForIfClauses :: Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm [Syntax.ForIfClause]-unForIfClauses x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ForIfClauses")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.FuncTypeComment-unFuncTypeComment :: Typed.TypedTerm Syntax.FuncTypeComment -> Typed.TypedTerm Syntax.TypeComment-unFuncTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.FuncTypeComment")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.GroupPattern-unGroupPattern :: Typed.TypedTerm Syntax.GroupPattern -> Typed.TypedTerm Syntax.Pattern-unGroupPattern x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.GroupPattern")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Guard-unGuard :: Typed.TypedTerm Syntax.Guard -> Typed.TypedTerm Syntax.NamedExpression-unGuard x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Guard")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ImaginaryNumber-unImaginaryNumber :: Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Double-unImaginaryNumber x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ImaginaryNumber")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ImportName-unImportName :: Typed.TypedTerm Syntax.ImportName -> Typed.TypedTerm [Syntax.DottedAsName]-unImportName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ImportName")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Interactive-unInteractive :: Typed.TypedTerm Syntax.Interactive -> Typed.TypedTerm Syntax.Statement-unInteractive x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Interactive")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ItemsPattern-unItemsPattern :: Typed.TypedTerm Syntax.ItemsPattern -> Typed.TypedTerm [Syntax.KeyValuePattern]-unItemsPattern x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ItemsPattern")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.KeywordPatterns-unKeywordPatterns :: Typed.TypedTerm Syntax.KeywordPatterns -> Typed.TypedTerm [Syntax.KeywordPattern]-unKeywordPatterns x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.KeywordPatterns")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Keywords-unKeywords :: Typed.TypedTerm Syntax.Keywords -> Typed.TypedTerm Syntax.ParamNoDefault-unKeywords x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Keywords")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.LambdaKwds-unLambdaKwds :: Typed.TypedTerm Syntax.LambdaKwds -> Typed.TypedTerm Syntax.LambdaParamNoDefault-unLambdaKwds x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.LambdaKwds")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.LambdaParamNoDefault-unLambdaParamNoDefault :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.Name-unLambdaParamNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.LambdaParamNoDefault")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.List-unList :: Typed.TypedTerm Syntax.List -> Typed.TypedTerm [Syntax.StarNamedExpression]-unList x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.List")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.MaybeSequencePattern-unMaybeSequencePattern :: Typed.TypedTerm Syntax.MaybeSequencePattern -> Typed.TypedTerm [Syntax.MaybeStarPattern]-unMaybeSequencePattern x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.MaybeSequencePattern")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Module-unModule :: Typed.TypedTerm Syntax.Module -> Typed.TypedTerm [[Syntax.Statement]]-unModule x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Module")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Name-unName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm String-unName x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Name")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.NameOrAttribute-unNameOrAttribute :: Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm [Syntax.Name]-unNameOrAttribute x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.NameOrAttribute")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.OrPattern-unOrPattern :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm [Syntax.ClosedPattern]-unOrPattern x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.OrPattern")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.PatternCaptureTarget-unPatternCaptureTarget :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.Name-unPatternCaptureTarget x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.PatternCaptureTarget")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.PositionalPatterns-unPositionalPatterns :: Typed.TypedTerm Syntax.PositionalPatterns -> Typed.TypedTerm [Syntax.Pattern]-unPositionalPatterns x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.PositionalPatterns")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.RaiseStatement-unRaiseStatement :: Typed.TypedTerm Syntax.RaiseStatement -> Typed.TypedTerm (Maybe Syntax.RaiseExpression)-unRaiseStatement x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.RaiseStatement")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ReturnStatement-unReturnStatement :: Typed.TypedTerm Syntax.ReturnStatement -> Typed.TypedTerm [Syntax.StarExpression]-unReturnStatement x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ReturnStatement")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Set-unSet :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm [Syntax.StarNamedExpression]-unSet x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Set")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.SlashNoDefault-unSlashNoDefault :: Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm [Syntax.ParamNoDefault]-unSlashNoDefault x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.SlashNoDefault")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarAnnotation-unStarAnnotation :: Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.StarExpression-unStarAnnotation x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarAnnotation")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarNamedExpressions-unStarNamedExpressions :: Typed.TypedTerm Syntax.StarNamedExpressions -> Typed.TypedTerm [Syntax.StarNamedExpression]-unStarNamedExpressions x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarNamedExpressions")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarTargetsListSeq-unStarTargetsListSeq :: Typed.TypedTerm Syntax.StarTargetsListSeq -> Typed.TypedTerm [Syntax.StarTarget]-unStarTargetsListSeq x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarTargetsListSeq")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarTargetsTupleSeq-unStarTargetsTupleSeq :: Typed.TypedTerm Syntax.StarTargetsTupleSeq -> Typed.TypedTerm [Syntax.StarTarget]-unStarTargetsTupleSeq x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarTargetsTupleSeq")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.StarredExpression-unStarredExpression :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.Expression-unStarredExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.StarredExpression")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.Tuple-unTuple :: Typed.TypedTerm Syntax.Tuple -> Typed.TypedTerm [Syntax.StarNamedExpression]-unTuple x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.Tuple")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.TypeComment-unTypeComment :: Typed.TypedTerm Syntax.TypeComment -> Typed.TypedTerm String-unTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.TypeComment")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.ValuePattern-unValuePattern :: Typed.TypedTerm Syntax.ValuePattern -> Typed.TypedTerm Syntax.Attribute-unValuePattern x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.ValuePattern")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body of hydra.python.syntax.YieldStatement-unYieldStatement :: Typed.TypedTerm Syntax.YieldStatement -> Typed.TypedTerm Syntax.YieldExpression-unYieldStatement x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermUnwrap (Core.Name "hydra.python.syntax.YieldStatement")),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL constructor for hydra.python.syntax.UntypedAssignment-untypedAssignment :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.UntypedAssignment-untypedAssignment targets rhs typeComment =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Typed.unTypedTerm targets)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm rhs)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm typeComment)}]}))---- | DSL accessor for the rhs field of hydra.python.syntax.UntypedAssignment-untypedAssignmentRhs :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs-untypedAssignmentRhs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-        Core.projectionFieldName = (Core.Name "rhs")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the targets field of hydra.python.syntax.UntypedAssignment-untypedAssignmentTargets :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm [Syntax.StarTarget]-untypedAssignmentTargets x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-        Core.projectionFieldName = (Core.Name "targets")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeComment field of hydra.python.syntax.UntypedAssignment-untypedAssignmentTypeComment :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm (Maybe Syntax.TypeComment)-untypedAssignmentTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-        Core.projectionFieldName = (Core.Name "typeComment")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.UntypedAssignment-untypedAssignmentUntypedAssignment :: Typed.TypedName Syntax.UntypedAssignment-untypedAssignmentUntypedAssignment = Typed.TypedName (Core.Name "hydra.python.syntax.UntypedAssignment")---- | DSL updater for the rhs field of hydra.python.syntax.UntypedAssignment-untypedAssignmentWithRhs :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.UntypedAssignment-untypedAssignmentWithRhs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the targets field of hydra.python.syntax.UntypedAssignment-untypedAssignmentWithTargets :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.UntypedAssignment-untypedAssignmentWithTargets original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the typeComment field of hydra.python.syntax.UntypedAssignment-untypedAssignmentWithTypeComment :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.UntypedAssignment-untypedAssignmentWithTypeComment original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "targets"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-              Core.projectionFieldName = (Core.Name "targets")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "rhs"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.UntypedAssignment"),-              Core.projectionFieldName = (Core.Name "rhs")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for the hydra.python.syntax.ValuePattern wrapper-valuePattern :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.ValuePattern-valuePattern x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.ValuePattern"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.ValuePattern-valuePatternValuePattern :: Typed.TypedName Syntax.ValuePattern-valuePatternValuePattern = Typed.TypedName (Core.Name "hydra.python.syntax.ValuePattern")---- | DSL constructor for hydra.python.syntax.WhileStatement-whileStatement :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.WhileStatement-whileStatement condition body else_ =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "condition"),-          Core.fieldTerm = (Typed.unTypedTerm condition)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm else_)}]}))---- | DSL accessor for the body field of hydra.python.syntax.WhileStatement-whileStatementBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Block-whileStatementBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the condition field of hydra.python.syntax.WhileStatement-whileStatementCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.NamedExpression-whileStatementCondition x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-        Core.projectionFieldName = (Core.Name "condition")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the else field of hydra.python.syntax.WhileStatement-whileStatementElse :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm (Maybe Syntax.Block)-whileStatementElse x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-        Core.projectionFieldName = (Core.Name "else")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.WhileStatement-whileStatementWhileStatement :: Typed.TypedName Syntax.WhileStatement-whileStatementWhileStatement = Typed.TypedName (Core.Name "hydra.python.syntax.WhileStatement")---- | DSL updater for the body field of hydra.python.syntax.WhileStatement-whileStatementWithBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WhileStatement-whileStatementWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "condition"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-              Core.projectionFieldName = (Core.Name "condition")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the condition field of hydra.python.syntax.WhileStatement-whileStatementWithCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.WhileStatement-whileStatementWithCondition original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "condition"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-              Core.projectionFieldName = (Core.Name "else")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the else field of hydra.python.syntax.WhileStatement-whileStatementWithElse :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.WhileStatement-whileStatementWithElse original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "condition"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-              Core.projectionFieldName = (Core.Name "condition")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WhileStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "else"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL constructor for hydra.python.syntax.WithItem-withItem :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.StarTarget) -> Typed.TypedTerm Syntax.WithItem-withItem expression as =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WithItem"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm expression)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm as)}]}))---- | DSL accessor for the as field of hydra.python.syntax.WithItem-withItemAs :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm (Maybe Syntax.StarTarget)-withItemAs x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithItem"),-        Core.projectionFieldName = (Core.Name "as")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the expression field of hydra.python.syntax.WithItem-withItemExpression :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm Syntax.Expression-withItemExpression x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithItem"),-        Core.projectionFieldName = (Core.Name "expression")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the as field of hydra.python.syntax.WithItem-withItemWithAs :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm (Maybe Syntax.StarTarget) -> Typed.TypedTerm Syntax.WithItem-withItemWithAs original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WithItem"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithItem"),-              Core.projectionFieldName = (Core.Name "expression")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the expression field of hydra.python.syntax.WithItem-withItemWithExpression :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.WithItem-withItemWithExpression original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WithItem"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "expression"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "as"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithItem"),-              Core.projectionFieldName = (Core.Name "as")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL name token for hydra.python.syntax.WithItem-withItemWithItem :: Typed.TypedName Syntax.WithItem-withItemWithItem = Typed.TypedName (Core.Name "hydra.python.syntax.WithItem")---- | DSL constructor for hydra.python.syntax.WithStatement-withStatement :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.WithItem] -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WithStatement-withStatement async items typeComment body =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Typed.unTypedTerm async)},-        Core.Field {-          Core.fieldName = (Core.Name "items"),-          Core.fieldTerm = (Typed.unTypedTerm items)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm typeComment)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm body)}]}))---- | DSL accessor for the async field of hydra.python.syntax.WithStatement-withStatementAsync :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Bool-withStatementAsync x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-        Core.projectionFieldName = (Core.Name "async")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the body field of hydra.python.syntax.WithStatement-withStatementBody :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.Block-withStatementBody x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-        Core.projectionFieldName = (Core.Name "body")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the items field of hydra.python.syntax.WithStatement-withStatementItems :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm [Syntax.WithItem]-withStatementItems x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-        Core.projectionFieldName = (Core.Name "items")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL accessor for the typeComment field of hydra.python.syntax.WithStatement-withStatementTypeComment :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment)-withStatementTypeComment x =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermProject (Core.Projection {-        Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-        Core.projectionFieldName = (Core.Name "typeComment")})),-      Core.applicationArgument = (Typed.unTypedTerm x)}))---- | DSL updater for the async field of hydra.python.syntax.WithStatement-withStatementWithAsync :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.WithStatement-withStatementWithAsync original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "items"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "items")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL updater for the body field of hydra.python.syntax.WithStatement-withStatementWithBody :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WithStatement-withStatementWithBody original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "items"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "items")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)}]}))---- | DSL updater for the items field of hydra.python.syntax.WithStatement-withStatementWithItems :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm [Syntax.WithItem] -> Typed.TypedTerm Syntax.WithStatement-withStatementWithItems original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "items"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "typeComment")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL name token for hydra.python.syntax.WithStatement-withStatementWithStatement :: Typed.TypedName Syntax.WithStatement-withStatementWithStatement = Typed.TypedName (Core.Name "hydra.python.syntax.WithStatement")---- | DSL updater for the typeComment field of hydra.python.syntax.WithStatement-withStatementWithTypeComment :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.WithStatement-withStatementWithTypeComment original newVal =-    Typed.TypedTerm (Core.TermRecord (Core.Record {-      Core.recordTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-      Core.recordFields = [-        Core.Field {-          Core.fieldName = (Core.Name "async"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "async")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "items"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "items")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))},-        Core.Field {-          Core.fieldName = (Core.Name "typeComment"),-          Core.fieldTerm = (Typed.unTypedTerm newVal)},-        Core.Field {-          Core.fieldName = (Core.Name "body"),-          Core.fieldTerm = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermProject (Core.Projection {-              Core.projectionTypeName = (Core.Name "hydra.python.syntax.WithStatement"),-              Core.projectionFieldName = (Core.Name "body")})),-            Core.applicationArgument = (Typed.unTypedTerm original)}))}]}))---- | DSL injection for the from variant of hydra.python.syntax.YieldExpression-yieldExpressionFrom :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.YieldExpression-yieldExpressionFrom x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.YieldExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "from"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL injection for the simple variant of hydra.python.syntax.YieldExpression-yieldExpressionSimple :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.YieldExpression-yieldExpressionSimple x =-    Typed.TypedTerm (Core.TermInject (Core.Injection {-      Core.injectionTypeName = (Core.Name "hydra.python.syntax.YieldExpression"),-      Core.injectionField = Core.Field {-        Core.fieldName = (Core.Name "simple"),-        Core.fieldTerm = (Typed.unTypedTerm x)}}))---- | DSL name token for hydra.python.syntax.YieldExpression-yieldExpressionYieldExpression :: Typed.TypedName Syntax.YieldExpression-yieldExpressionYieldExpression = Typed.TypedName (Core.Name "hydra.python.syntax.YieldExpression")---- | DSL constructor for the hydra.python.syntax.YieldStatement wrapper-yieldStatement :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.YieldStatement-yieldStatement x =-    Typed.TypedTerm (Core.TermWrap (Core.WrappedTerm {-      Core.wrappedTermTypeName = (Core.Name "hydra.python.syntax.YieldStatement"),-      Core.wrappedTermBody = (Typed.unTypedTerm x)}))---- | DSL name token for hydra.python.syntax.YieldStatement-yieldStatementYieldStatement :: Typed.TypedName Syntax.YieldStatement-yieldStatementYieldStatement = Typed.TypedName (Core.Name "hydra.python.syntax.YieldStatement")
− src/main/haskell/Hydra/Dsl/Python/Utils.hs
@@ -1,561 +0,0 @@--- Note: this is an automatically generated file. Do not edit.---- | DSL functions for hydra.python.utils--module Hydra.Dsl.Python.Utils where--import qualified Hydra.Analysis as Analysis-import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Dsl.Python.Environment as PythonEnvironment-import qualified Hydra.Dsl.Python.Names as PythonNames-import qualified Hydra.Dsl.Python.Syntax as PythonSyntax-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Python.Environment as Environment-import qualified Hydra.Python.Names as Names-import qualified Hydra.Python.Serde as Serde-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Python.Utils as Utils-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variants as Variants-import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void-import qualified Data.Set as S---- | DSL reference to hydra.python.utils.annotatedExpression-annotatedExpression :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression-annotatedExpression arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.annotatedExpression")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.annotatedStatement-annotatedStatement :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.Statement-annotatedStatement arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.annotatedStatement")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.assignment-assignment :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.Statement-assignment arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.assignment")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.assignmentStatement-assignmentStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-assignmentStatement arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.assignmentStatement")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.castTo-castTo :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression-castTo arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.castTo")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.commentStatement-commentStatement :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement-commentStatement arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.commentStatement")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decimalVariantMethods-decimalVariantMethods :: Typed.TypedTerm [Syntax.Statement]-decimalVariantMethods = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.decimalVariantMethods"))---- | DSL reference to hydra.python.utils.decodePyComparisonToPyAwaitPrimary-decodePyComparisonToPyAwaitPrimary :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyComparisonToPyAwaitPrimary arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyComparisonToPyAwaitPrimary")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decodePyConjunctionToPyPrimary-decodePyConjunctionToPyPrimary :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyConjunctionToPyPrimary arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyConjunctionToPyPrimary")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decodePyExpressionToPyPrimary-decodePyExpressionToPyPrimary :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyExpressionToPyPrimary arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyExpressionToPyPrimary")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decodePyInversionToPyPrimary-decodePyInversionToPyPrimary :: Typed.TypedTerm Syntax.Inversion -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyInversionToPyPrimary arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyInversionToPyPrimary")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.decodePyPowerToPyPrimary-decodePyPowerToPyPrimary :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Primary)-decodePyPowerToPyPrimary arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.decodePyPowerToPyPrimary")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.dottedAssignmentStatement-dottedAssignmentStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-dottedAssignmentStatement arg0 arg1 arg2 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.dottedAssignmentStatement")),-          Core.applicationArgument = (Typed.unTypedTerm arg0)})),-        Core.applicationArgument = (Typed.unTypedTerm arg1)})),-      Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.utils.doubleQuotedString-doubleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression-doubleQuotedString arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.doubleQuotedString")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.findNamespaces-findNamespaces :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm [Packaging.Definition] -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)-findNamespaces arg0 arg1 arg2 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.findNamespaces")),-          Core.applicationArgument = (Typed.unTypedTerm arg0)})),-        Core.applicationArgument = (Typed.unTypedTerm arg1)})),-      Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.utils.functionCall-functionCall :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression-functionCall arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.functionCall")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.getItemParams-getItemParams :: Typed.TypedTerm Syntax.Parameters-getItemParams = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.getItemParams"))---- | DSL reference to hydra.python.utils.indentedBlock-indentedBlock :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Block-indentedBlock arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.indentedBlock")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.nameAndParams-nameAndParams :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression-nameAndParams arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.nameAndParams")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.newtypeStatement-newtypeStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-newtypeStatement arg0 arg1 arg2 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.newtypeStatement")),-          Core.applicationArgument = (Typed.unTypedTerm arg0)})),-        Core.applicationArgument = (Typed.unTypedTerm arg1)})),-      Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.utils.orExpression-orExpression :: Typed.TypedTerm [Syntax.Primary] -> Typed.TypedTerm Syntax.Expression-orExpression arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.orExpression")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.primaryAndParams-primaryAndParams :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression-primaryAndParams arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.primaryAndParams")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.primaryWithExpressionSlices-primaryWithExpressionSlices :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Primary-primaryWithExpressionSlices arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.primaryWithExpressionSlices")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.primaryWithRhs-primaryWithRhs :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.Primary-primaryWithRhs arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.primaryWithRhs")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.primaryWithSlices-primaryWithSlices :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Primary-primaryWithSlices arg0 arg1 arg2 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.primaryWithSlices")),-          Core.applicationArgument = (Typed.unTypedTerm arg0)})),-        Core.applicationArgument = (Typed.unTypedTerm arg1)})),-      Core.applicationArgument = (Typed.unTypedTerm arg2)}))---- | DSL reference to hydra.python.utils.projectFromExpression-projectFromExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression-projectFromExpression arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.projectFromExpression")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.pyAssignmentToPyStatement-pyAssignmentToPyStatement :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.Statement-pyAssignmentToPyStatement arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyAssignmentToPyStatement")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyAtomToPyExpression-pyAtomToPyExpression :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Expression-pyAtomToPyExpression arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyAtomToPyExpression")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyBitwiseOrToPyConjunction-pyBitwiseOrToPyConjunction :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Conjunction-pyBitwiseOrToPyConjunction arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyBitwiseOrToPyConjunction")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyBitwiseOrToPyExpression-pyBitwiseOrToPyExpression :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Expression-pyBitwiseOrToPyExpression arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyBitwiseOrToPyExpression")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyClassDefinitionToPyStatement-pyClassDefinitionToPyStatement :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Statement-pyClassDefinitionToPyStatement arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyClassDefinitionToPyStatement")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyClosedPatternToPyPatterns-pyClosedPatternToPyPatterns :: Typed.TypedTerm Syntax.ClosedPattern -> Typed.TypedTerm Syntax.Patterns-pyClosedPatternToPyPatterns arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyClosedPatternToPyPatterns")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyConjunctionToPyExpression-pyConjunctionToPyExpression :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm Syntax.Expression-pyConjunctionToPyExpression arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyConjunctionToPyExpression")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToBitwiseOr-pyExpressionToBitwiseOr :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.BitwiseOr-pyExpressionToBitwiseOr arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToBitwiseOr")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToDisjunction-pyExpressionToDisjunction :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Disjunction-pyExpressionToDisjunction arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToDisjunction")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPyAnnotatedRhs-pyExpressionToPyAnnotatedRhs :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AnnotatedRhs-pyExpressionToPyAnnotatedRhs arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPyAnnotatedRhs")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPyPrimary-pyExpressionToPyPrimary :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Primary-pyExpressionToPyPrimary arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPyPrimary")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPySimpleStatement-pyExpressionToPySimpleStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SimpleStatement-pyExpressionToPySimpleStatement arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPySimpleStatement")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPySlice-pyExpressionToPySlice :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Slice-pyExpressionToPySlice arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPySlice")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPyStarNamedExpression-pyExpressionToPyStarNamedExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarNamedExpression-pyExpressionToPyStarNamedExpression arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPyStarNamedExpression")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionToPyStatement-pyExpressionToPyStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-pyExpressionToPyStatement arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionToPyStatement")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyExpressionsToPyArgs-pyExpressionsToPyArgs :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Args-pyExpressionsToPyArgs arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyExpressionsToPyArgs")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyList-pyList :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.List-pyList arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyList")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyExpression-pyNameToPyExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression-pyNameToPyExpression arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyExpression")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyNamedExpression-pyNameToPyNamedExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.NamedExpression-pyNameToPyNamedExpression arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyNamedExpression")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyPrimary-pyNameToPyPrimary :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Primary-pyNameToPyPrimary arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyPrimary")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyStarTarget-pyNameToPyStarTarget :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarTarget-pyNameToPyStarTarget arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyStarTarget")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNameToPyTypeParameter-pyNameToPyTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TypeParameter-pyNameToPyTypeParameter arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyNameToPyTypeParameter")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyNone-pyNone :: Typed.TypedTerm Syntax.Name-pyNone = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.pyNone"))---- | DSL reference to hydra.python.utils.pyPrimaryToPyBitwiseOr-pyPrimaryToPyBitwiseOr :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.BitwiseOr-pyPrimaryToPyBitwiseOr arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPyBitwiseOr")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyPrimaryToPyBitwiseXor-pyPrimaryToPyBitwiseXor :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.BitwiseXor-pyPrimaryToPyBitwiseXor arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPyBitwiseXor")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyPrimaryToPyConjunction-pyPrimaryToPyConjunction :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Conjunction-pyPrimaryToPyConjunction arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPyConjunction")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyPrimaryToPyExpression-pyPrimaryToPyExpression :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Expression-pyPrimaryToPyExpression arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPyExpression")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pyPrimaryToPySlice-pyPrimaryToPySlice :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Slice-pyPrimaryToPySlice arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pyPrimaryToPySlice")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.pySimpleStatementToPyStatement-pySimpleStatementToPyStatement :: Typed.TypedTerm Syntax.SimpleStatement -> Typed.TypedTerm Syntax.Statement-pySimpleStatementToPyStatement arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.pySimpleStatementToPyStatement")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.raiseAssertionError-raiseAssertionError :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement-raiseAssertionError arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.raiseAssertionError")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.raiseTypeError-raiseTypeError :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement-raiseTypeError arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.raiseTypeError")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.returnSingle-returnSingle :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-returnSingle arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.returnSingle")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.selfOnlyParams-selfOnlyParams :: Typed.TypedTerm Syntax.Parameters-selfOnlyParams = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.selfOnlyParams"))---- | DSL reference to hydra.python.utils.selfOtherParams-selfOtherParams :: Typed.TypedTerm Syntax.Parameters-selfOtherParams = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.selfOtherParams"))---- | DSL reference to hydra.python.utils.singleQuotedString-singleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression-singleQuotedString arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.singleQuotedString")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.stringToPyExpression-stringToPyExpression :: Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression-stringToPyExpression arg0 arg1 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.stringToPyExpression")),-        Core.applicationArgument = (Typed.unTypedTerm arg0)})),-      Core.applicationArgument = (Typed.unTypedTerm arg1)}))---- | DSL reference to hydra.python.utils.targetPythonVersion-targetPythonVersion :: Typed.TypedTerm Environment.PythonVersion-targetPythonVersion = Typed.TypedTerm (Core.TermVariable (Core.Name "hydra.python.utils.targetPythonVersion"))---- | DSL reference to hydra.python.utils.tripleQuotedString-tripleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression-tripleQuotedString arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.tripleQuotedString")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))---- | DSL reference to hydra.python.utils.typeAliasStatement-typeAliasStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-typeAliasStatement arg0 arg1 arg2 arg3 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.typeAliasStatement")),-            Core.applicationArgument = (Typed.unTypedTerm arg0)})),-          Core.applicationArgument = (Typed.unTypedTerm arg1)})),-        Core.applicationArgument = (Typed.unTypedTerm arg2)})),-      Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.utils.typeAliasStatement310-typeAliasStatement310 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm t0 -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement-typeAliasStatement310 arg0 arg1 arg2 arg3 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.typeAliasStatement310")),-            Core.applicationArgument = (Typed.unTypedTerm arg0)})),-          Core.applicationArgument = (Typed.unTypedTerm arg1)})),-        Core.applicationArgument = (Typed.unTypedTerm arg2)})),-      Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.utils.unionTypeClassStatements310-unionTypeClassStatements310 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm [Syntax.Statement]-unionTypeClassStatements310 arg0 arg1 arg2 arg3 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermApplication (Core.Application {-        Core.applicationFunction = (Core.TermApplication (Core.Application {-          Core.applicationFunction = (Core.TermApplication (Core.Application {-            Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.unionTypeClassStatements310")),-            Core.applicationArgument = (Typed.unTypedTerm arg0)})),-          Core.applicationArgument = (Typed.unTypedTerm arg1)})),-        Core.applicationArgument = (Typed.unTypedTerm arg2)})),-      Core.applicationArgument = (Typed.unTypedTerm arg3)}))---- | DSL reference to hydra.python.utils.unitVariantMethods-unitVariantMethods :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.Statement]-unitVariantMethods arg0 =-    Typed.TypedTerm (Core.TermApplication (Core.Application {-      Core.applicationFunction = (Core.TermVariable (Core.Name "hydra.python.utils.unitVariantMethods")),-      Core.applicationArgument = (Typed.unTypedTerm arg0)}))
src/main/haskell/Hydra/Python/Coder.hs view
@@ -4,2976 +4,2977 @@  module Hydra.Python.Coder where -import qualified Hydra.Analysis as Analysis-import qualified Hydra.Annotations as Annotations-import qualified Hydra.Arity as Arity-import qualified Hydra.Ast as Ast-import qualified Hydra.Checking as Checking-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Dependencies as Dependencies-import qualified Hydra.Environment as Environment-import qualified Hydra.Error.Checking as ErrorChecking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.File as File-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Inference as Inference-import qualified Hydra.Json.Model as Model-import qualified Hydra.Lexical as Lexical-import qualified Hydra.Overlay.Haskell.Lib.Eithers as Eithers-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Literals as Literals-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Maps as Maps-import qualified Hydra.Overlay.Haskell.Lib.Math as Math-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Ordering as Ordering-import qualified Hydra.Overlay.Haskell.Lib.Pairs as Pairs-import qualified Hydra.Overlay.Haskell.Lib.Sets as Sets-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Predicates as Predicates-import qualified Hydra.Print.Core as PrintCore-import qualified Hydra.Python.Environment as PythonEnvironment-import qualified Hydra.Python.Names as PythonNames-import qualified Hydra.Python.Serde as Serde-import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Python.Utils as Utils-import qualified Hydra.Query as Query-import qualified Hydra.Reduction as Reduction-import qualified Hydra.Relational as Relational-import qualified Hydra.Resolution as Resolution-import qualified Hydra.Rewriting as Rewriting-import qualified Hydra.Scoping as Scoping-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Sorting as Sorting-import qualified Hydra.Strip as Strip-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variables as Variables-import qualified Hydra.Variants as Variants-import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void-import qualified Data.Map as M-import qualified Data.Set as S---- | Analyze a function term with Python-specific Graph management-analyzePythonFunction :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Term -> Either t0 (Typing.FunctionStructure PythonEnvironment.PythonEnvironment)-analyzePythonFunction cx env term =-    Analysis.analyzeFunctionTermWith cx pythonBindingMetadata pythonEnvironmentGetGraph pythonEnvironmentSetGraph env term---- | Escape a builder setter name that would collide with build()/builder()/self-builderSetterName :: PythonEnvironment.PythonEnvironment -> Core.Name -> String-builderSetterName env fname =--      let base = Syntax.unName (PythonNames.encodeFieldName env fname)-      in (Logic.ifElse (Logic.or (Equality.equal base "build") (Logic.or (Equality.equal base "builder") (Equality.equal base "self"))) (Strings.concat2 base "_") base)---- | Encode a single case (Field) into a CaseBlock for a match statement-caseBlockToExpr :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> Bool -> (PythonEnvironment.PythonEnvironment -> Core.Term -> Either t1 [Syntax.Statement]) -> Core.CaseAlternative -> Either t1 Syntax.CaseBlock-caseBlockToExpr cx env tname rowType isEnum encodeBody field =--      let fname = Core.caseAlternativeName field-          fterm = Core.caseAlternativeHandler field-          stripped = Strip.deannotateAndDetypeTerm fterm-          effectiveLambda =-                  case stripped of-                    Core.TermLambda v0 -> v0-                    _ ->-                      let syntheticVar = Core.Name "_matchValue"-                      in Core.Lambda {-                        Core.lambdaParameter = syntheticVar,-                        Core.lambdaDomain = Nothing,-                        Core.lambdaBody = (Core.TermApplication (Core.Application {-                          Core.applicationFunction = stripped,-                          Core.applicationArgument = (Core.TermVariable syntheticVar)}))}-          v = Core.lambdaParameter effectiveLambda-          rawBody = Core.lambdaBody effectiveLambda-          isUnitVariant = isVariantUnitType rowType fname-          effectiveBody = Logic.ifElse isUnitVariant (eliminateUnitVar v rawBody) rawBody-          shouldCapture =-                  Logic.not (Logic.or isUnitVariant (Logic.or (Variables.isFreeVariableInTerm v rawBody) (Predicates.isUnitTerm rawBody)))-          env2 = pythonEnvironmentSetGraph (Scoping.extendGraphForLambda (pythonEnvironmentGetGraph env) effectiveLambda) env-          pyVariantName = deconflictVariantName True env2 tname fname (PythonEnvironment.pythonEnvironmentGraph env2)-          pattern = variantClosedPattern env2 tname fname pyVariantName rowType isEnum v shouldCapture-      in (Eithers.bind (encodeBody env2 effectiveBody) (\stmts ->-        let pyBody = Utils.indentedBlock Nothing [-              stmts]-        in (Right (Syntax.CaseBlock {-          Syntax.caseBlockPatterns = (Utils.pyClosedPatternToPyPatterns pattern),-          Syntax.caseBlockGuard = Nothing,-          Syntax.caseBlockBody = pyBody}))))---- | Create a class pattern for a unit variant (no value captured)-classVariantPatternUnit :: Syntax.Name -> Syntax.ClosedPattern-classVariantPatternUnit pyVariantName =-    Syntax.ClosedPatternClass (Syntax.ClassPattern {-      Syntax.classPatternNameOrAttribute = (Syntax.NameOrAttribute [-        pyVariantName]),-      Syntax.classPatternPositionalPatterns = Nothing,-      Syntax.classPatternKeywordPatterns = Nothing})---- | Create a class pattern for a variant with captured value-classVariantPatternWithCapture :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> Core.Name -> Syntax.ClosedPattern-classVariantPatternWithCapture env pyVariantName varName =--      let pyVarNameAttr = Syntax.NameOrAttribute [-            pyVariantName]-          capturePattern =-                  Syntax.ClosedPatternCapture (Syntax.CapturePattern (Syntax.PatternCaptureTarget (PythonNames.encodeName False Util.CaseConventionLowerSnake env varName)))-          keywordPattern =-                  Syntax.KeywordPattern {-                    Syntax.keywordPatternName = (Syntax.Name "value"),-                    Syntax.keywordPatternPattern = (Syntax.PatternOr (Syntax.OrPattern [-                      capturePattern]))}-      in (Syntax.ClosedPatternClass (Syntax.ClassPattern {-        Syntax.classPatternNameOrAttribute = pyVarNameAttr,-        Syntax.classPatternPositionalPatterns = Nothing,-        Syntax.classPatternKeywordPatterns = (Just (Syntax.KeywordPatterns [-          keywordPattern]))}))---- | Collect type variables from a type-collectTypeVariables :: S.Set Core.Name -> Core.Type -> S.Set Core.Name-collectTypeVariables initial typ =-    case (Strip.deannotateType typ) of-      Core.TypeForall v0 ->-        let v = Core.forallTypeParameter v0-            body = Core.forallTypeBody v0-        in (collectTypeVariables (Sets.insert v initial) body)-      _ ->-        let freeVars = Variables.freeVariablesInType typ-            isTypeVar = \n -> isTypeVariableName n-            filteredList = Lists.filter isTypeVar (Sets.toList freeVars)-        in (Sets.union initial (Sets.fromList filteredList))---- | Conditionally include a symbol name based on a boolean flag-condImportSymbol :: t0 -> Bool -> Maybe t0-condImportSymbol name flag = Logic.ifElse flag (Just name) Nothing---- | Create a @dataclass(frozen=True) decorator-dataclassDecorator :: Syntax.NamedExpression-dataclassDecorator =-    Syntax.NamedExpressionSimple (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "dataclass"))) (Syntax.PrimaryRhsCall (Syntax.Args {-      Syntax.argsPositional = [],-      Syntax.argsKwargOrStarred = [-        Syntax.KwargOrStarredKwarg (Syntax.Kwarg {-          Syntax.kwargName = (Syntax.Name "frozen"),-          Syntax.kwargValue = (Utils.pyAtomToPyExpression Syntax.AtomTrue)})],-      Syntax.argsKwargOrDoubleStarred = []}))))---- | Deconflict a variant name to avoid collisions with type names-deconflictVariantName :: Bool -> PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Name -> Graph.Graph -> Syntax.Name-deconflictVariantName isQualified env unionName fname g =--      let candidateHydraName = Core.Name (Strings.concat2 (Core.unName unionName) (Formatting.capitalize (Core.unName fname)))-          termCollision = Maps.member candidateHydraName (Graph.graphBoundTerms g)-          typeCollision = Maps.member candidateHydraName (Graph.graphSchemaTypes g)-          collision = Logic.or termCollision typeCollision-      in (Logic.ifElse collision (Syntax.Name (Strings.concat2 (Syntax.unName (PythonNames.variantName isQualified env unionName fname)) "_")) (PythonNames.variantName isQualified env unionName fname))---- | Rewrite case statements to avoid variable name collisions-deduplicateCaseVariables :: [Core.CaseAlternative] -> [Core.CaseAlternative]-deduplicateCaseVariables cases_ =--      let rewriteCase =-              \state -> \field ->-                let countByName = Pairs.first state-                    done = Pairs.second state-                    fname = Core.caseAlternativeName field-                    fterm = Core.caseAlternativeHandler field-                in case (Strip.deannotateAndDetypeTerm fterm) of-                  Core.TermLambda v0 ->-                    let v = Core.lambdaParameter v0-                        mdom = Core.lambdaDomain v0-                        body = Core.lambdaBody v0-                    in (Optionals.match (Maps.lookup v countByName) (Maps.insert v 1 countByName, (Lists.cons field done)) (\count ->-                      let count2 = Math.add count 1-                          v2 = Core.Name (Strings.concat2 (Core.unName v) (Literals.printInt32 count2))-                          newBody = Reduction.alphaConvert v v2 body-                          newLam =-                                  Core.Lambda {-                                    Core.lambdaParameter = v2,-                                    Core.lambdaDomain = mdom,-                                    Core.lambdaBody = newBody}-                          newTerm = Core.TermLambda newLam-                          newField =-                                  Core.CaseAlternative {-                                    Core.caseAlternativeName = fname,-                                    Core.caseAlternativeHandler = newTerm}-                      in (Maps.insert v count2 countByName, (Lists.cons newField done))))-                  _ -> (countByName, (Lists.cons field done))-          result = Lists.foldl rewriteCase (Maps.empty, []) cases_-      in (Lists.reverse (Pairs.second result))---- | Recursively dig through forall types to find wrap types-digForWrap :: Bool -> PythonEnvironment.PythonModuleMetadata -> Core.Type -> PythonEnvironment.PythonModuleMetadata-digForWrap isTermAnnot meta typ =-    case (Strip.deannotateType typ) of-      Core.TypeForall v0 -> digForWrap isTermAnnot meta (Core.forallTypeBody v0)-      Core.TypeWrap _ -> Logic.ifElse isTermAnnot meta (setMetaUsesNode meta True)-      _ -> meta---- | Substitute unit for a variable in a term (for unit variant case handling)-eliminateUnitVar :: Core.Name -> Core.Term -> Core.Term-eliminateUnitVar v term0 =--      let rewriteField =-              \rewrite -> \fld -> Core.Field {-                Core.fieldName = (Core.fieldName fld),-                Core.fieldTerm = (rewrite (Core.fieldTerm fld))}-          rewriteCaseAlternative =-                  \rewrite -> \alt -> Core.CaseAlternative {-                    Core.caseAlternativeName = (Core.caseAlternativeName alt),-                    Core.caseAlternativeHandler = (rewrite (Core.caseAlternativeHandler alt))}-          rewriteBinding =-                  \rewrite -> \bnd -> Core.Binding {-                    Core.bindingName = (Core.bindingName bnd),-                    Core.bindingTerm = (rewrite (Core.bindingTerm bnd)),-                    Core.bindingTypeScheme = (Core.bindingTypeScheme bnd)}-          rewrite =-                  \recurse -> \term -> case (Strip.deannotateAndDetypeTerm term) of-                    Core.TermVariable v0 -> Logic.ifElse (Equality.equal v0 v) Core.TermUnit term-                    Core.TermAnnotated v0 -> Core.TermAnnotated (Core.AnnotatedTerm {-                      Core.annotatedTermBody = (recurse (Core.annotatedTermBody v0)),-                      Core.annotatedTermAnnotation = (Core.annotatedTermAnnotation v0)})-                    Core.TermApplication v0 -> Core.TermApplication (Core.Application {-                      Core.applicationFunction = (recurse (Core.applicationFunction v0)),-                      Core.applicationArgument = (recurse (Core.applicationArgument v0))})-                    Core.TermLambda v0 -> Logic.ifElse (Equality.equal (Core.lambdaParameter v0) v) term (Core.TermLambda (Core.Lambda {-                      Core.lambdaParameter = (Core.lambdaParameter v0),-                      Core.lambdaDomain = (Core.lambdaDomain v0),-                      Core.lambdaBody = (recurse (Core.lambdaBody v0))}))-                    Core.TermCases v0 -> Core.TermCases (Core.CaseStatement {-                      Core.caseStatementTypeName = (Core.caseStatementTypeName v0),-                      Core.caseStatementDefault = (Optionals.map recurse (Core.caseStatementDefault v0)),-                      Core.caseStatementCases = (Lists.map (rewriteCaseAlternative recurse) (Core.caseStatementCases v0))})-                    Core.TermLet v0 -> Core.TermLet (Core.Let {-                      Core.letBindings = (Lists.map (rewriteBinding recurse) (Core.letBindings v0)),-                      Core.letBody = (recurse (Core.letBody v0))})-                    Core.TermList v0 -> Core.TermList (Lists.map recurse v0)-                    Core.TermMap v0 -> Core.TermMap (Maps.fromList (Lists.map (\kv -> (recurse (Pairs.first kv), (recurse (Pairs.second kv)))) (Maps.toList v0)))-                    Core.TermRecord v0 -> Core.TermRecord (Core.Record {-                      Core.recordTypeName = (Core.recordTypeName v0),-                      Core.recordFields = (Lists.map (rewriteField recurse) (Core.recordFields v0))})-                    Core.TermSet v0 -> Core.TermSet (Sets.map recurse v0)-                    Core.TermInject v0 -> Core.TermInject (Core.Injection {-                      Core.injectionTypeName = (Core.injectionTypeName v0),-                      Core.injectionField = (rewriteField recurse (Core.injectionField v0))})-                    Core.TermOptional v0 -> Core.TermOptional (Optionals.map recurse v0)-                    Core.TermPair v0 -> Core.TermPair (recurse (Pairs.first v0), (recurse (Pairs.second v0)))-                    Core.TermWrap v0 -> Core.TermWrap (Core.WrappedTerm {-                      Core.wrappedTermTypeName = (Core.wrappedTermTypeName v0),-                      Core.wrappedTermBody = (recurse (Core.wrappedTermBody v0))})-                    Core.TermEither v0 -> Core.TermEither (Eithers.bimap recurse recurse v0)-                    Core.TermTypeApplication v0 -> Core.TermTypeApplication (Core.TypeApplicationTerm {-                      Core.typeApplicationTermBody = (recurse (Core.typeApplicationTermBody v0)),-                      Core.typeApplicationTermType = (Core.typeApplicationTermType v0)})-                    Core.TermTypeLambda v0 -> Core.TermTypeLambda (Core.TypeLambda {-                      Core.typeLambdaParameter = (Core.typeLambdaParameter v0),-                      Core.typeLambdaBody = (recurse (Core.typeLambdaBody v0))})-                    _ -> term-          go = \term -> rewrite go term-      in (go term0)---- | Create an initial empty metadata record with given namespaces-emptyMetadata :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata-emptyMetadata ns =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = ns,-      PythonEnvironment.pythonModuleMetadataTypeVariables = Sets.empty,-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = False,-      PythonEnvironment.pythonModuleMetadataUsesCallable = False,-      PythonEnvironment.pythonModuleMetadataUsesCast = False,-      PythonEnvironment.pythonModuleMetadataUsesLruCache = False,-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = False,-      PythonEnvironment.pythonModuleMetadataUsesDataclass = False,-      PythonEnvironment.pythonModuleMetadataUsesDecimal = False,-      PythonEnvironment.pythonModuleMetadataUsesEither = False,-      PythonEnvironment.pythonModuleMetadataUsesEnum = False,-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = False,-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = False,-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = False,-      PythonEnvironment.pythonModuleMetadataUsesGeneric = False,-      PythonEnvironment.pythonModuleMetadataUsesJust = False,-      PythonEnvironment.pythonModuleMetadataUsesLeft = False,-      PythonEnvironment.pythonModuleMetadataUsesMaybe = False,-      PythonEnvironment.pythonModuleMetadataUsesName = False,-      PythonEnvironment.pythonModuleMetadataUsesNode = False,-      PythonEnvironment.pythonModuleMetadataUsesNothing = False,-      PythonEnvironment.pythonModuleMetadataUsesRight = False,-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = False}---- | Encode a function application to a Python expression-encodeApplication :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Application -> Either Errors.Error Syntax.Expression-encodeApplication cx env app =--      let g = pythonEnvironmentGetGraph env-          term = Core.TermApplication app-          gathered = Analysis.gatherArgs term []-          fun = Pairs.first gathered-          args = Pairs.second gathered-          knownArity = termArityWithPrimitives g fun-          arity = Ordering.max knownArity (Lists.length args)-      in (Eithers.bind (Eithers.mapList (\t -> encodeTermInline cx env False t) args) (\pargs ->-        let hargs = Lists.take arity pargs-            rargs = Lists.drop arity pargs-        in (Eithers.bind (encodeApplicationInner cx env fun hargs rargs) (\result ->-          let lhs = Pairs.first result-              remainingRargs = Pairs.second result-              pyapp = Lists.foldl (\t -> \a -> Utils.functionCall (Utils.pyExpressionToPyPrimary t) [-                    a]) lhs remainingRargs-          in (Right pyapp)))))---- | Inner helper for encodeApplication-encodeApplicationInner :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Term -> [Syntax.Expression] -> [Syntax.Expression] -> Either Errors.Error (Syntax.Expression, [Syntax.Expression])-encodeApplicationInner cx env fun hargs rargs =--      let firstArg = Optionals.withDefault (Utils.pyNameToPyExpression (Syntax.Name "")) (Lists.head hargs)-          restArgs = Lists.drop 1 hargs-          withRest = \e -> Logic.ifElse (Lists.isEmpty restArgs) e (Utils.functionCall (Utils.pyExpressionToPyPrimary e) restArgs)-          defaultCase =-                  Eithers.bind (encodeTermInline cx env False fun) (\pfun -> Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pfun) hargs, rargs))-      in case (Strip.deannotateAndDetypeTerm fun) of-        Core.TermProject v0 ->-          let fname = Core.projectionFieldName v0-              fieldExpr = Utils.projectFromExpression firstArg (PythonNames.encodeFieldName env fname)-          in (Right (withRest fieldExpr, rargs))-        Core.TermCases v0 -> Eithers.bind (encodeUnionEliminationInline cx env v0 firstArg) (\inlineExpr -> Right (withRest inlineExpr, rargs))-        Core.TermUnwrap _ ->-          let valueExpr = Utils.projectFromExpression firstArg (Syntax.Name "value")-              allArgs = Lists.concat2 restArgs rargs-          in (Logic.ifElse (Lists.isEmpty allArgs) (Right (valueExpr, [])) (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary valueExpr) allArgs, [])))-        Core.TermLambda _ -> Eithers.bind (encodeTermInline cx env False fun) (\pfun -> Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pfun) hargs, rargs))-        Core.TermVariable v0 ->-          let g = pythonEnvironmentGetGraph env-              allArgs = Lists.concat2 hargs rargs-              inlineVars = PythonEnvironment.pythonEnvironmentInlineVariables env-          in (Optionals.match (Maps.lookup v0 (Graph.graphPrimitives g)) (Optionals.match (Lexical.lookupBinding g v0) (Eithers.bind (encodeVariable cx env v0 hargs) (\expr -> Right (expr, rargs))) (\el -> Optionals.match (Core.bindingTypeScheme el) (Eithers.bind (encodeVariable cx env v0 hargs) (\expr -> Right (expr, rargs))) (\ts ->-            let elArity = Arity.typeSchemeArity ts-                consumeCount = Ordering.min elArity (Lists.length allArgs)-                consumedArgs = Lists.take consumeCount allArgs-                remainingArgs = Lists.drop consumeCount allArgs-            in (Logic.ifElse (Lists.isEmpty consumedArgs) (Eithers.bind (encodeVariable cx env v0 []) (\expr -> Right (expr, rargs))) (Logic.ifElse (Sets.member v0 inlineVars) (Right (-              Utils.functionCall (Utils.pyExpressionToPyPrimary (lazyDotGet (PythonNames.termVariableReference env v0))) consumedArgs,-              remainingArgs)) (Right (-              Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env v0)) consumedArgs,-              remainingArgs))))))) (\_prim ->-            let wrappedArgs = wrapLazyArguments g v0 hargs-            in (Eithers.bind (encodeVariable cx env v0 wrappedArgs) (\expr -> Right (expr, rargs)))))-        _ -> defaultCase---- | Encode an application type to Python expression-encodeApplicationType :: PythonEnvironment.PythonEnvironment -> Core.ApplicationType -> Either t0 Syntax.Expression-encodeApplicationType env at =--      let gatherParams =-              \t -> \ps -> case (Strip.deannotateType t) of-                Core.TypeApplication v0 -> gatherParams (Core.applicationTypeFunction v0) (Lists.cons (Core.applicationTypeArgument v0) ps)-                Core.TypeAnnotated _ -> (t, ps)-                Core.TypeEffect _ -> (t, ps)-                Core.TypeFunction _ -> (t, ps)-                Core.TypeForall _ -> (t, ps)-                Core.TypeList _ -> (t, ps)-                Core.TypeLiteral _ -> (t, ps)-                Core.TypeMap _ -> (t, ps)-                Core.TypeOptional _ -> (t, ps)-                Core.TypeEither _ -> (t, ps)-                Core.TypePair _ -> (t, ps)-                Core.TypeRecord _ -> (t, ps)-                Core.TypeSet _ -> (t, ps)-                Core.TypeUnion _ -> (t, ps)-                Core.TypeUnit -> (t, ps)-                Core.TypeVariable _ -> (t, ps)-                Core.TypeVoid -> (t, ps)-                Core.TypeWrap _ -> (t, ps)-          bodyAndArgs = gatherParams (Core.TypeApplication at) []-          body = Pairs.first bodyAndArgs-          args = Pairs.second bodyAndArgs-      in (Eithers.bind (encodeType env body) (\pyBody -> Eithers.bind (Eithers.mapList (encodeType env) args) (\pyArgs -> Right (Utils.primaryAndParams (Utils.pyExpressionToPyPrimary pyBody) pyArgs))))---- | Encode a binding as a Python statement (function definition or assignment)-encodeBindingAs :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Binding -> Either Errors.Error Syntax.Statement-encodeBindingAs cx env binding =--      let name1 = Core.bindingName binding-          term1 = Core.bindingTerm binding-          mts = Core.bindingTypeScheme binding-          fname = PythonNames.encodeName True Util.CaseConventionLowerSnake env name1-      in (Optionals.match mts (-        let gathered = gatherLambdas term1-            lambdaParams = Pairs.first gathered-            innerBody = Pairs.second gathered-            mcsa = isCaseStatementApplication innerBody-        in (Optionals.match mcsa (-          let mcs = extractCaseElimination term1-          in (Optionals.match mcs (Eithers.bind (encodeTermMultiline cx env term1) (\stmts -> Optionals.match (Lists.head stmts) (Left (Errors.ErrorOther (Errors.OtherError "encodeTermMultiline returned no statements"))) (\x -> Right x))) (\cs ->-            let tname = Core.caseStatementTypeName cs-                dflt = Core.caseStatementDefault cs-                cases_ = Core.caseStatementCases cs-            in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->-              let isEnum = Predicates.isEnumRowType rt-                  isFull = isCasesFull rt cases_-                  innerParam =-                          Syntax.Param {-                            Syntax.paramName = (Syntax.Name "x"),-                            Syntax.paramAnnotation = Nothing}-                  param =-                          Syntax.ParamNoDefault {-                            Syntax.paramNoDefaultParam = innerParam,-                            Syntax.paramNoDefaultTypeComment = Nothing}-                  params =-                          Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {-                            Syntax.paramNoDefaultParametersParamNoDefault = [-                              param],-                            Syntax.paramNoDefaultParametersParamWithDefault = [],-                            Syntax.paramNoDefaultParametersStarEtc = Nothing})-              in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->-                let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "x")))-                    allCases = Lists.concat2 pyCases pyDflt-                    matchStmt =-                            Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {-                              Syntax.matchStatementSubject = subj,-                              Syntax.matchStatementCases = allCases}))-                    body = Utils.indentedBlock Nothing [-                          [-                            matchStmt]]-                    funcDefRaw =-                            Syntax.FunctionDefRaw {-                              Syntax.functionDefRawAsync = False,-                              Syntax.functionDefRawName = fname,-                              Syntax.functionDefRawTypeParams = [],-                              Syntax.functionDefRawParams = (Just params),-                              Syntax.functionDefRawReturnType = Nothing,-                              Syntax.functionDefRawFuncTypeComment = Nothing,-                              Syntax.functionDefRawBlock = body}-                in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {-                  Syntax.functionDefinitionDecorators = Nothing,-                  Syntax.functionDefinitionRaw = funcDefRaw})))))))))))) (\csa -> Logic.ifElse (Lists.isEmpty lambdaParams) (-          let mcs = extractCaseElimination term1-          in (Optionals.match mcs (Eithers.bind (encodeTermMultiline cx env term1) (\stmts -> Optionals.match (Lists.head stmts) (Left (Errors.ErrorOther (Errors.OtherError "encodeTermMultiline returned no statements"))) (\x -> Right x))) (\cs ->-            let tname = Core.caseStatementTypeName cs-                dflt = Core.caseStatementDefault cs-                cases_ = Core.caseStatementCases cs-            in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->-              let isEnum = Predicates.isEnumRowType rt-                  isFull = isCasesFull rt cases_-                  innerParam =-                          Syntax.Param {-                            Syntax.paramName = (Syntax.Name "x"),-                            Syntax.paramAnnotation = Nothing}-                  param =-                          Syntax.ParamNoDefault {-                            Syntax.paramNoDefaultParam = innerParam,-                            Syntax.paramNoDefaultTypeComment = Nothing}-                  params =-                          Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {-                            Syntax.paramNoDefaultParametersParamNoDefault = [-                              param],-                            Syntax.paramNoDefaultParametersParamWithDefault = [],-                            Syntax.paramNoDefaultParametersStarEtc = Nothing})-              in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->-                let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "x")))-                    allCases = Lists.concat2 pyCases pyDflt-                    matchStmt =-                            Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {-                              Syntax.matchStatementSubject = subj,-                              Syntax.matchStatementCases = allCases}))-                    body = Utils.indentedBlock Nothing [-                          [-                            matchStmt]]-                    funcDefRaw =-                            Syntax.FunctionDefRaw {-                              Syntax.functionDefRawAsync = False,-                              Syntax.functionDefRawName = fname,-                              Syntax.functionDefRawTypeParams = [],-                              Syntax.functionDefRawParams = (Just params),-                              Syntax.functionDefRawReturnType = Nothing,-                              Syntax.functionDefRawFuncTypeComment = Nothing,-                              Syntax.functionDefRawBlock = body}-                in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {-                  Syntax.functionDefinitionDecorators = Nothing,-                  Syntax.functionDefinitionRaw = funcDefRaw})))))))))))) (-          let tname = Pairs.first csa-              rest1 = Pairs.second csa-              dflt = Pairs.first rest1-              rest2 = Pairs.second rest1-              cases_ = Pairs.first rest2-          in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->-            let isEnum = Predicates.isEnumRowType rt-                isFull = isCasesFull rt cases_-                capturedVarNames = Optionals.withDefault [] (Lists.init lambdaParams)-                matchLambdaParam = Optionals.withDefault (Core.Name "") (Lists.last lambdaParams)-                capturedParams =-                        Lists.map (\n -> Syntax.ParamNoDefault {-                          Syntax.paramNoDefaultParam = Syntax.Param {-                            Syntax.paramName = (PythonNames.encodeName False Util.CaseConventionLowerSnake env n),-                            Syntax.paramAnnotation = Nothing},-                          Syntax.paramNoDefaultTypeComment = Nothing}) capturedVarNames-                matchArgName = PythonNames.encodeName False Util.CaseConventionLowerSnake env matchLambdaParam-                matchParam =-                        Syntax.ParamNoDefault {-                          Syntax.paramNoDefaultParam = Syntax.Param {-                            Syntax.paramName = matchArgName,-                            Syntax.paramAnnotation = Nothing},-                          Syntax.paramNoDefaultTypeComment = Nothing}-                allParams = Lists.concat2 capturedParams [-                      matchParam]-                params =-                        Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {-                          Syntax.paramNoDefaultParametersParamNoDefault = allParams,-                          Syntax.paramNoDefaultParametersParamWithDefault = [],-                          Syntax.paramNoDefaultParametersStarEtc = Nothing})-                envWithParams = extendEnvWithLambdaParams env term1-            in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx envWithParams tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx envWithParams False t) isFull dflt tname) (\pyDflt ->-              let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression matchArgName))-                  allCases = Lists.concat2 pyCases pyDflt-                  matchStmt =-                          Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {-                            Syntax.matchStatementSubject = subj,-                            Syntax.matchStatementCases = allCases}))-                  body = Utils.indentedBlock Nothing [-                        [-                          matchStmt]]-                  funcDefRaw =-                          Syntax.FunctionDefRaw {-                            Syntax.functionDefRawAsync = False,-                            Syntax.functionDefRawName = fname,-                            Syntax.functionDefRawTypeParams = [],-                            Syntax.functionDefRawParams = (Just params),-                            Syntax.functionDefRawReturnType = Nothing,-                            Syntax.functionDefRawFuncTypeComment = Nothing,-                            Syntax.functionDefRawBlock = body}-              in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {-                Syntax.functionDefinitionDecorators = Nothing,-                Syntax.functionDefinitionRaw = funcDefRaw}))))))))))))) (\ts -> Eithers.bind (Annotations.getTermDescription cx (pythonEnvironmentGetGraph env) term1) (\comment ->-        let normComment = Optionals.map Formatting.normalizeComment comment-        in (encodeTermAssignment cx env False name1 term1 ts normComment))))---- | Encode a binding as a walrus operator assignment-encodeBindingAsAssignment :: Typing.InferenceContext -> Bool -> PythonEnvironment.PythonEnvironment -> Core.Binding -> Either Errors.Error Syntax.NamedExpression-encodeBindingAsAssignment cx allowThunking env binding =--      let name = Core.bindingName binding-          term = Core.bindingTerm binding-          mts = Core.bindingTypeScheme binding-          pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env name-      in (Eithers.bind (encodeTermInline cx env False term) (\pbody ->-        let tc = PythonEnvironment.pythonEnvironmentGraph env-            isComplexVar = Predicates.isComplexVariable tc name-            termIsComplex = Predicates.isComplexTerm tc term-            isTrivial = Predicates.isTrivialTerm term-            needsThunk =-                    Logic.ifElse isTrivial False (Optionals.match mts (Logic.and allowThunking (Logic.or isComplexVar termIsComplex)) (\ts -> Logic.and allowThunking (Logic.and (Equality.equal (Arity.typeSchemeArity ts) 0) (Logic.or isComplexVar termIsComplex))))-            pterm = makeLazy pbody-        in (Right (Syntax.NamedExpressionAssignment (Syntax.AssignmentExpression {-          Syntax.assignmentExpressionName = pyName,-          Syntax.assignmentExpressionExpression = pterm})))))---- | Encode bindings as function definitions-encodeBindingsAsDefs :: t0 -> (t0 -> t1 -> Either t2 t3) -> [t1] -> Either t2 [t3]-encodeBindingsAsDefs env encodeBinding bindings = Eithers.mapList (encodeBinding env) bindings---- | Encode the default (wildcard) case block for a match statement-encodeDefaultCaseBlock :: (t0 -> Either t1 Syntax.Expression) -> Bool -> Maybe t0 -> Core.Name -> Either t1 [Syntax.CaseBlock]-encodeDefaultCaseBlock termToExpr isFull mdflt tname =-    Eithers.bind (Optionals.match mdflt (Right (Logic.ifElse isFull (Utils.raiseAssertionError "Unreachable: all variants handled") (Utils.raiseTypeError (Strings.concat2 "Unsupported " (Names.localNameOf tname))))) (\d -> Eithers.bind (termToExpr d) (\pyexpr -> Right (Utils.returnSingle pyexpr)))) (\stmt ->-      let patterns = Utils.pyClosedPatternToPyPatterns Syntax.ClosedPatternWildcard-          body = Utils.indentedBlock Nothing [-                [-                  stmt]]-      in (Right [-        Syntax.CaseBlock {-          Syntax.caseBlockPatterns = patterns,-          Syntax.caseBlockGuard = Nothing,-          Syntax.caseBlockBody = body}]))---- | Encode a definition (term or type) to Python statements-encodeDefinition :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Packaging.Definition -> Either Errors.Error [[Syntax.Statement]]-encodeDefinition cx env def_ =-    case def_ of-      Packaging.DefinitionTerm v0 ->-        let name = Packaging.termDefinitionName v0-            term = Packaging.termDefinitionBody v0-            typ =-                    Optionals.match (Packaging.termDefinitionSignature v0) (Core.TypeScheme {-                      Core.typeSchemeVariables = [],-                      Core.typeSchemeBody = (Core.TypeVariable (Core.Name "hydra.core.Unit")),-                      Core.typeSchemeConstraints = Maps.empty}) (\sig -> Scoping.termSignatureToTypeScheme sig)-        in (Eithers.bind (Annotations.getTermDescription cx (pythonEnvironmentGetGraph env) term) (\comment ->-          let normComment = Optionals.map Formatting.normalizeComment comment-          in (Eithers.bind (encodeTermAssignment cx env True name term typ normComment) (\stmt -> Right [-            [-              stmt]]))))-      Packaging.DefinitionType v0 ->-        let name = Packaging.typeDefinitionName v0-            typ = Core.typeSchemeBody (Packaging.typeDefinitionBody v0)-        in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) typ) (\comment ->-          let normComment = Optionals.map Formatting.normalizeComment comment-          in (encodeTypeAssignment cx env name typ normComment)))---- | Encode an enum value assignment statement with optional comment-encodeEnumValueAssignment :: t0 -> PythonEnvironment.PythonEnvironment -> Core.FieldType -> Either Errors.Error [Syntax.Statement]-encodeEnumValueAssignment cx env fieldType =--      let fname = Core.fieldTypeName fieldType-          ftype = Core.fieldTypeType fieldType-      in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\mcomment ->-        let pyName = PythonNames.encodeEnumValue env fname-            fnameStr = Core.unName fname-            pyValue =-                    Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Core.Name "hydra.core.Name"))) [-                      Utils.doubleQuotedString fnameStr]-            assignStmt = Utils.assignmentStatement pyName pyValue-        in (Right (Optionals.match mcomment [-          assignStmt] (\c -> [-          assignStmt,-          (Utils.pyExpressionToPyStatement (Utils.tripleQuotedString c))])))))---- | Encode a field (name-value pair) to a Python (Name, Expression) pair-encodeField :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Field -> (Core.Term -> Either t1 t2) -> Either t1 (Syntax.Name, t2)-encodeField cx env field termToExpr =--      let fname = Core.fieldName field-          fterm = Core.fieldTerm field-      in (Eithers.bind (termToExpr fterm) (\pterm -> Right (PythonNames.encodeFieldName env fname, pterm)))---- | Encode a field type for record definitions (field: type annotation)-encodeFieldType :: t0 -> PythonEnvironment.PythonEnvironment -> Core.FieldType -> Either Errors.Error Syntax.Statement-encodeFieldType cx env fieldType =--      let fname = Core.fieldTypeName fieldType-          ftype = Core.fieldTypeType fieldType-      in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\comment ->-        let pyName = Syntax.SingleTargetName (PythonNames.encodeFieldName env fname)-        in (Eithers.bind (encodeType env ftype) (\pyType ->-          let annotatedPyType = Utils.annotatedExpression comment pyType-          in (Right (Utils.pyAssignmentToPyStatement (Syntax.AssignmentTyped (Syntax.TypedAssignment {-            Syntax.typedAssignmentLhs = pyName,-            Syntax.typedAssignmentType = annotatedPyType,-            Syntax.typedAssignmentRhs = Nothing}))))))))---- | Encode a float value to a Python expression-encodeFloatValue :: Core.FloatValue -> Either t0 Syntax.Expression-encodeFloatValue fv =-    case fv of-      Core.FloatValueFloat32 v0 -> encodeFloatValueEncodeFloat32 v0-      Core.FloatValueFloat64 v0 -> encodeFloatValueEncodeFloat64 v0--encodeFloatValueEncodeFloat32 :: Float -> Either t0 Syntax.Expression-encodeFloatValueEncodeFloat32 v =--      let s = Literals.printFloat32 v-      in (Logic.ifElse (Equality.equal s "NaN") (Right (encodeFloatValuePySpecialFloat "nan")) (Logic.ifElse (Equality.equal s "Infinity") (Right (encodeFloatValuePySpecialFloat "inf")) (Logic.ifElse (Equality.equal s "-Infinity") (Right (encodeFloatValuePySpecialFloat "-inf")) (Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberFloat (Literals.float32ToFloat64 v))))))))--encodeFloatValueEncodeFloat64 :: Double -> Either t0 Syntax.Expression-encodeFloatValueEncodeFloat64 v =--      let s = Literals.printFloat64 v-      in (Logic.ifElse (Equality.equal s "NaN") (Right (encodeFloatValuePySpecialFloat "nan")) (Logic.ifElse (Equality.equal s "Infinity") (Right (encodeFloatValuePySpecialFloat "inf")) (Logic.ifElse (Equality.equal s "-Infinity") (Right (encodeFloatValuePySpecialFloat "-inf")) (Logic.ifElse (Equality.equal s "-0.0") (Right (encodeFloatValuePySpecialFloat "-0.0")) (Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberFloat v))))))))--encodeFloatValuePySpecialFloat :: String -> Syntax.Expression-encodeFloatValuePySpecialFloat value =-    Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "float")) [-      Utils.singleQuotedString value]---- | Encode a forall type to Python expression-encodeForallType :: PythonEnvironment.PythonEnvironment -> Core.ForallType -> Either t0 Syntax.Expression-encodeForallType env lt =--      let gatherParams =-              \t -> \ps -> case (Strip.deannotateType t) of-                Core.TypeForall v0 -> gatherParams (Core.forallTypeBody v0) (Lists.cons (Core.forallTypeParameter v0) ps)-                Core.TypeAnnotated _ -> (t, (Lists.reverse ps))-                Core.TypeApplication _ -> (t, (Lists.reverse ps))-                Core.TypeEffect _ -> (t, (Lists.reverse ps))-                Core.TypeFunction _ -> (t, (Lists.reverse ps))-                Core.TypeList _ -> (t, (Lists.reverse ps))-                Core.TypeLiteral _ -> (t, (Lists.reverse ps))-                Core.TypeMap _ -> (t, (Lists.reverse ps))-                Core.TypeOptional _ -> (t, (Lists.reverse ps))-                Core.TypeEither _ -> (t, (Lists.reverse ps))-                Core.TypePair _ -> (t, (Lists.reverse ps))-                Core.TypeRecord _ -> (t, (Lists.reverse ps))-                Core.TypeSet _ -> (t, (Lists.reverse ps))-                Core.TypeUnion _ -> (t, (Lists.reverse ps))-                Core.TypeUnit -> (t, (Lists.reverse ps))-                Core.TypeVariable _ -> (t, (Lists.reverse ps))-                Core.TypeVoid -> (t, (Lists.reverse ps))-                Core.TypeWrap _ -> (t, (Lists.reverse ps))-          bodyAndParams = gatherParams (Core.TypeForall lt) []-          body = Pairs.first bodyAndParams-          params = Pairs.second bodyAndParams-      in (Eithers.bind (encodeType env body) (\pyBody -> Right (Utils.primaryAndParams (Utils.pyExpressionToPyPrimary pyBody) (Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [-        Syntax.Conjunction [-          Syntax.InversionSimple (Syntax.Comparison {-            Syntax.comparisonLhs = Syntax.BitwiseOr {-              Syntax.bitwiseOrLhs = Nothing,-              Syntax.bitwiseOrRhs = Syntax.BitwiseXor {-                Syntax.bitwiseXorLhs = Nothing,-                Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {-                  Syntax.bitwiseAndLhs = Nothing,-                  Syntax.bitwiseAndRhs = Syntax.ShiftExpression {-                    Syntax.shiftExpressionLhs = Nothing,-                    Syntax.shiftExpressionRhs = Syntax.Sum {-                      Syntax.sumLhs = Nothing,-                      Syntax.sumRhs = Syntax.Term {-                        Syntax.termLhs = Nothing,-                        Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {-                          Syntax.powerLhs = Syntax.AwaitPrimary {-                            Syntax.awaitPrimaryAwait = False,-                            Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name (Core.unName n))))},-                          Syntax.powerRhs = Nothing}))}}}}}},-            Syntax.comparisonRhs = []})]])) params))))---- | Encode a function type to Python Callable expression-encodeFunctionType :: PythonEnvironment.PythonEnvironment -> Core.FunctionType -> Either t0 Syntax.Expression-encodeFunctionType env ft =--      let gatherParams =-              \rdoms -> \ftype ->-                let innerCod = Core.functionTypeCodomain ftype-                    dom = Core.functionTypeDomain ftype-                in case (Strip.deannotateType innerCod) of-                  Core.TypeFunction v0 -> gatherParams (Lists.cons dom rdoms) v0-                  Core.TypeAnnotated _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeApplication _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeEffect _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeForall _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeList _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeLiteral _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeMap _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeOptional _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeEither _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypePair _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeRecord _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeSet _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeUnion _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeUnit -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeVariable _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeVoid -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-                  Core.TypeWrap _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)-          domsAndCod = gatherParams [] ft-          doms = Pairs.first domsAndCod-          cod = Pairs.second domsAndCod-      in (Eithers.bind (Eithers.mapList (encodeType env) doms) (\pydoms -> Eithers.bind (encodeType env cod) (\pycod -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Callable"))) (Utils.pyPrimaryToPySlice (Syntax.PrimarySimple (Syntax.AtomList (Utils.pyList pydoms)))) [-        Syntax.SliceOrStarredExpressionSlice (Utils.pyExpressionToPySlice pycod)])))))---- | Encode an integer value to a Python expression-encodeIntegerValue :: Core.IntegerValue -> Either t0 Syntax.Expression-encodeIntegerValue iv =--      let toPyInt = \n -> Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger n)))-      in case iv of-        Core.IntegerValueBigint v0 -> toPyInt v0-        Core.IntegerValueInt8 v0 -> toPyInt (Literals.int8ToBigint v0)-        Core.IntegerValueInt16 v0 -> toPyInt (Literals.int16ToBigint v0)-        Core.IntegerValueInt32 v0 -> toPyInt (Literals.int32ToBigint v0)-        Core.IntegerValueInt64 v0 -> toPyInt (Literals.int64ToBigint v0)-        Core.IntegerValueUint8 v0 -> toPyInt (Literals.uint8ToBigint v0)-        Core.IntegerValueUint16 v0 -> toPyInt (Literals.uint16ToBigint v0)-        Core.IntegerValueUint32 v0 -> toPyInt (Literals.uint32ToBigint v0)-        Core.IntegerValueUint64 v0 -> toPyInt (Literals.uint64ToBigint v0)---- | Encode a literal value to a Python expression-encodeLiteral :: Core.Literal -> Either t0 Syntax.Expression-encodeLiteral lit =-    case lit of-      Core.LiteralBinary v0 ->-        let byteValues = Literals.binaryToBytes v0-        in (Right (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "bytes"))) [-          Utils.pyAtomToPyExpression (Syntax.AtomList (Utils.pyList (Lists.map (\byteVal -> Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint byteVal)))) byteValues)))]))-      Core.LiteralBoolean v0 -> Right (Utils.pyAtomToPyExpression (Logic.ifElse v0 Syntax.AtomTrue Syntax.AtomFalse))-      Core.LiteralDecimal v0 -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Decimal")) [-        Utils.singleQuotedString (Literals.printDecimal v0)])-      Core.LiteralFloat v0 -> encodeFloatValue v0-      Core.LiteralInteger v0 -> encodeIntegerValue v0-      Core.LiteralString v0 -> Right (Utils.stringToPyExpression Syntax.QuoteStyleDouble v0)---- | Encode a literal type to a Python type expression-encodeLiteralType :: Core.LiteralType -> Either t0 Syntax.Expression-encodeLiteralType lt =--      let findName =-              case lt of-                Core.LiteralTypeBinary -> "bytes"-                Core.LiteralTypeBoolean -> "bool"-                Core.LiteralTypeDecimal -> "Decimal"-                Core.LiteralTypeFloat v0 -> case v0 of-                  Core.FloatTypeFloat32 -> "float"-                  Core.FloatTypeFloat64 -> "float"-                Core.LiteralTypeInteger _ -> "int"-                Core.LiteralTypeString -> "str"-      in (Right (Syntax.ExpressionSimple (Syntax.Disjunction [-        Syntax.Conjunction [-          Syntax.InversionSimple (Syntax.Comparison {-            Syntax.comparisonLhs = Syntax.BitwiseOr {-              Syntax.bitwiseOrLhs = Nothing,-              Syntax.bitwiseOrRhs = Syntax.BitwiseXor {-                Syntax.bitwiseXorLhs = Nothing,-                Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {-                  Syntax.bitwiseAndLhs = Nothing,-                  Syntax.bitwiseAndRhs = Syntax.ShiftExpression {-                    Syntax.shiftExpressionLhs = Nothing,-                    Syntax.shiftExpressionRhs = Syntax.Sum {-                      Syntax.sumLhs = Nothing,-                      Syntax.sumRhs = Syntax.Term {-                        Syntax.termLhs = Nothing,-                        Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {-                          Syntax.powerLhs = Syntax.AwaitPrimary {-                            Syntax.awaitPrimaryAwait = False,-                            Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name findName)))},-                          Syntax.powerRhs = Nothing}))}}}}}},-            Syntax.comparisonRhs = []})]])))---- | Generate name constants for a type as class-level attributes-encodeNameConstants :: PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> [Syntax.Statement]-encodeNameConstants env name fields =--      let toStmt =-              \pair -> Utils.assignmentStatement (Pairs.first pair) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Core.Name "hydra.core.Name"))) [-                Utils.doubleQuotedString (Core.unName (Pairs.second pair))])-          namePair = (PythonNames.encodeConstantForTypeName env name, name)-          fieldPairs =-                  Lists.map (\field -> (PythonNames.encodeConstantForFieldName env name (Core.fieldTypeName field), (Core.fieldTypeName field))) fields-      in (Lists.map toStmt (Lists.cons namePair fieldPairs))---- | Encode a Hydra module to a Python module AST, given the on-disk overlay-existence set (#630) driving emission-time primitive-reference redirects-encodePythonModule :: S.Set String -> Typing.InferenceContext -> Graph.Graph -> Packaging.Module -> [Packaging.Definition] -> Either Errors.Error Syntax.Module-encodePythonModule overlaySubs cx g mod defs0 =--      let defs = Environment.reorderDefs defs0-          meta0 = gatherMetadata overlaySubs (Packaging.moduleName mod) defs-          namespaces0 = PythonEnvironment.pythonModuleMetadataNamespaces meta0-          env0 = initialEnvironment namespaces0 g overlaySubs-          isTypeMod = isTypeModuleCheck defs0-      in (withDefinitions env0 defs (\env -> Eithers.bind (Eithers.map (\xs -> Lists.concat xs) (Eithers.mapList (\d -> encodeDefinition cx env d) defs)) (\defStmts ->-        let meta2 = Logic.ifElse (Logic.and (Logic.not isTypeMod) useInlineTypeParams) (setMetaUsesTypeVar meta0 False) meta0-            meta =-                    Logic.ifElse (Logic.and isTypeMod (Equality.equal targetPythonVersion PythonEnvironment.PythonVersionPython310)) (setMetaUsesTypeAlias meta2 True) meta2-            namespaces = PythonEnvironment.pythonModuleMetadataNamespaces meta0-            commentStmts =-                    Optionals.match (Optionals.map Formatting.normalizeComment (Optionals.bind (Packaging.moduleMetadata mod) (\em -> Packaging.entityMetadataDescription em))) [] (\c -> [-                      Utils.commentStatement c])-            importStmts = moduleImports namespaces meta-            tvars =-                    Logic.ifElse (Logic.or isTypeMod (Logic.not useInlineTypeParams)) (PythonEnvironment.pythonModuleMetadataTypeVariables meta) Sets.empty-            tvarStmts = Lists.map (\tv -> tvarStatement (PythonNames.encodeTypeVariable tv)) (Sets.toList tvars)-            body =-                    Lists.filter (\group -> Logic.not (Lists.isEmpty group)) (Lists.concat [-                      [-                        commentStmts,-                        importStmts,-                        tvarStmts],-                      defStmts])-        in (Right (Syntax.Module body)))))---- | Encode a record type as a Python dataclass-encodeRecordType :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> Maybe String -> Either Errors.Error Syntax.Statement-encodeRecordType cx env name rowType comment =-    Eithers.bind (Eithers.mapList (encodeFieldType cx env) rowType) (\pyFields ->-      let constStmts = encodeNameConstants env name rowType-          withMethods = Lists.map (recordWithMethod env) rowType-          boundVars = PythonEnvironment.pythonEnvironmentBoundTypeVariables env-          tparamList = Pairs.first boundVars-          mGenericArg = genericArg tparamList-          args = Optionals.match mGenericArg Nothing (\a -> Just (Utils.pyExpressionsToPyArgs [-                a]))-          decs = Just (Syntax.Decorators [-                dataclassDecorator])-          pyName = PythonNames.encodeName False Util.CaseConventionPascal env name-          noTypeParams = []-      in (Eithers.bind (recordBuilderClass env name rowType args) (\builderStmts ->-        let body =-                Utils.indentedBlock comment [-                  pyFields,-                  constStmts,-                  withMethods,-                  builderStmts]-        in (Right (Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {-          Syntax.classDefinitionDecorators = decs,-          Syntax.classDefinitionName = pyName,-          Syntax.classDefinitionTypeParams = noTypeParams,-          Syntax.classDefinitionArguments = args,-          Syntax.classDefinitionBody = body}))))))---- | Encode a term assignment to a Python statement-encodeTermAssignment :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Bool -> Core.Name -> Core.Term -> Core.TypeScheme -> Maybe String -> Either Errors.Error Syntax.Statement-encodeTermAssignment cx env topLevel name term ts comment =-    Eithers.bind (analyzePythonFunction cx env term) (\fs ->-      let tparams = Typing.functionStructureTypeParams fs-          params = Typing.functionStructureParams fs-          bindings = Typing.functionStructureBindings fs-          body = Typing.functionStructureBody fs-          domsRaw = Typing.functionStructureDomains fs-          sigTermSig = Scoping.typeSchemeToTermSignature ts-          sigParamTypes = Lists.map (\p -> Typing.parameterType p) (Typing.termSignatureParameters sigTermSig)-          sigResult = Typing.termSignatureResult sigTermSig-          sigCod = Typing.resultType sigResult-          doms = fillDomsFromSignature domsRaw sigParamTypes-          mcod = Just sigCod-          env2 = Typing.functionStructureEnvironment fs-          tc = PythonEnvironment.pythonEnvironmentGraph env2-          binding =-                  Core.Binding {-                    Core.bindingName = name,-                    Core.bindingTerm = term,-                    Core.bindingTypeScheme = (Just ts)}-          isComplex = Predicates.isComplexBinding tc binding-          isTrivial = Predicates.isTrivialTerm term-      in (Logic.ifElse (Logic.and isComplex (Logic.not isTrivial)) (Logic.ifElse (Logic.and (Logic.not topLevel) (Lists.isEmpty params)) (Eithers.bind (encodeTermInline cx env2 False term) (\bodyExpr ->-        let pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env2 name-            lazyExpr = makeLazy bodyExpr-        in (Right (Utils.annotatedStatement comment (Utils.assignmentStatement pyName lazyExpr))))) (Eithers.bind (Eithers.mapList (encodeBindingAs cx env2) bindings) (\bindingStmts -> functionDefinitionToExpr cx env2 name tparams params body doms mcod comment bindingStmts))) (Eithers.bind (encodeTermInline cx env2 False body) (\bodyExpr ->-        let pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env2 name-        in (Right (Utils.annotatedStatement comment (Utils.assignmentStatement pyName bodyExpr)))))))---- | Encode a term to a Python expression (inline form)-encodeTermInline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Bool -> Core.Term -> Either Errors.Error Syntax.Expression-encodeTermInline cx env noCast term =--      let encode = \t -> encodeTermInline cx env False t-          stripTypeApps =-                  \t -> case t of-                    Core.TermAnnotated v0 -> stripTypeApps (Core.annotatedTermBody v0)-                    Core.TermTypeApplication v0 -> stripTypeApps (Core.typeApplicationTermBody v0)-                    _ -> t-          withCast =-                  \pyexp -> Logic.ifElse (Logic.or noCast (PythonEnvironment.pythonEnvironmentSkipCasts env)) (Right pyexp) (-                    let tc = PythonEnvironment.pythonEnvironmentGraph env-                        mtyp = Eithers.map (\_r -> Pairs.first _r) (Checking.typeOf cx tc [] term)-                    in (Eithers.either (\_ -> Right pyexp) (\typ -> Eithers.either (\_ -> Right pyexp) (\pytyp -> Right (Utils.castTo pytyp pyexp)) (encodeType env typ)) mtyp))-      in case (Strip.deannotateAndDetypeTerm term) of-        Core.TermApplication v0 -> encodeApplication cx env v0-        Core.TermEither v0 -> Eithers.either (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Left")) [-          pyexp]))) (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Right")) [-          pyexp]))) v0-        Core.TermLambda v0 -> Eithers.bind (analyzePythonFunction cx env (Core.TermLambda v0)) (\fs ->-          let params = Typing.functionStructureParams fs-              bindings = Typing.functionStructureBindings fs-              innerBody = Typing.functionStructureBody fs-              innerEnv0 = Typing.functionStructureEnvironment fs-              bindingNames = Lists.map (\b -> Core.bindingName b) bindings-              innerEnv =-                      PythonEnvironment.PythonEnvironment {-                        PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces innerEnv0),-                        PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables innerEnv0),-                        PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph innerEnv0),-                        PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings innerEnv0),-                        PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion innerEnv0),-                        PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts innerEnv0),-                        PythonEnvironment.pythonEnvironmentInlineVariables = (Sets.union (Sets.fromList bindingNames) (PythonEnvironment.pythonEnvironmentInlineVariables innerEnv0)),-                        PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs innerEnv0)}-          in (Eithers.bind (encodeTermInline cx innerEnv False innerBody) (\pbody ->-            let pparams = Lists.map (PythonNames.encodeName False Util.CaseConventionLowerSnake innerEnv) params-            in (Logic.ifElse (Lists.isEmpty bindings) (Right (makeUncurriedLambda pparams pbody)) (Eithers.bind (Eithers.mapList (encodeBindingAsAssignment cx False innerEnv) bindings) (\pbindingExprs ->-              let pbindingStarExprs = Lists.map (\ne -> Syntax.StarNamedExpressionSimple ne) pbindingExprs-                  pbodyStarExpr = Utils.pyExpressionToPyStarNamedExpression pbody-                  tupleElements = Lists.concat2 pbindingStarExprs [-                        pbodyStarExpr]-                  tupleExpr = Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple tupleElements))-                  indexValue =-                          Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint (Lists.length bindings))))-                  indexedExpr = Utils.primaryWithExpressionSlices (Utils.pyExpressionToPyPrimary tupleExpr) [-                        indexValue]-              in (Right (makeUncurriedLambda pparams (Utils.pyPrimaryToPyExpression indexedExpr)))))))))-        Core.TermProject v0 ->-          let fname = Core.projectionFieldName v0-          in (Right (makeCurriedLambda [-            Syntax.Name "v1"] (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [-            Syntax.Conjunction [-              Syntax.InversionSimple (Syntax.Comparison {-                Syntax.comparisonLhs = Syntax.BitwiseOr {-                  Syntax.bitwiseOrLhs = Nothing,-                  Syntax.bitwiseOrRhs = Syntax.BitwiseXor {-                    Syntax.bitwiseXorLhs = Nothing,-                    Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {-                      Syntax.bitwiseAndLhs = Nothing,-                      Syntax.bitwiseAndRhs = Syntax.ShiftExpression {-                        Syntax.shiftExpressionLhs = Nothing,-                        Syntax.shiftExpressionRhs = Syntax.Sum {-                          Syntax.sumLhs = Nothing,-                          Syntax.sumRhs = Syntax.Term {-                            Syntax.termLhs = Nothing,-                            Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {-                              Syntax.powerLhs = Syntax.AwaitPrimary {-                                Syntax.awaitPrimaryAwait = False,-                                Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "v1")))},-                              Syntax.powerRhs = Nothing}))}}}}}},-                Syntax.comparisonRhs = []})]])) (PythonNames.encodeFieldName env fname))))-        Core.TermUnwrap _ -> Right (makeCurriedLambda [-          Syntax.Name "v1"] (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [-          Syntax.Conjunction [-            Syntax.InversionSimple (Syntax.Comparison {-              Syntax.comparisonLhs = Syntax.BitwiseOr {-                Syntax.bitwiseOrLhs = Nothing,-                Syntax.bitwiseOrRhs = Syntax.BitwiseXor {-                  Syntax.bitwiseXorLhs = Nothing,-                  Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {-                    Syntax.bitwiseAndLhs = Nothing,-                    Syntax.bitwiseAndRhs = Syntax.ShiftExpression {-                      Syntax.shiftExpressionLhs = Nothing,-                      Syntax.shiftExpressionRhs = Syntax.Sum {-                        Syntax.sumLhs = Nothing,-                        Syntax.sumRhs = Syntax.Term {-                          Syntax.termLhs = Nothing,-                          Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {-                            Syntax.powerLhs = Syntax.AwaitPrimary {-                              Syntax.awaitPrimaryAwait = False,-                              Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "v1")))},-                            Syntax.powerRhs = Nothing}))}}}}}},-              Syntax.comparisonRhs = []})]])) (Syntax.Name "value")))-        Core.TermCases _ -> Right (unsupportedExpression "case expressions as values are not yet supported")-        Core.TermLet v0 ->-          let bindings = Core.letBindings v0-              body = Core.letBody v0-          in (Logic.ifElse (Lists.isEmpty bindings) (encodeTermInline cx env False body) (withLetInline env v0 (\innerEnv -> Eithers.bind (Eithers.mapList (encodeBindingAsAssignment cx False innerEnv) bindings) (\pbindingExprs -> Eithers.bind (encodeTermInline cx innerEnv False body) (\pbody ->-            let pbindingStarExprs = Lists.map (\ne -> Syntax.StarNamedExpressionSimple ne) pbindingExprs-                pbodyStarExpr = Utils.pyExpressionToPyStarNamedExpression pbody-                tupleElements = Lists.concat2 pbindingStarExprs [-                      pbodyStarExpr]-                tupleExpr = Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple tupleElements))-                indexValue =-                        Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint (Lists.length bindings))))-                indexedExpr = Utils.primaryWithExpressionSlices (Utils.pyExpressionToPyPrimary tupleExpr) [-                      indexValue]-            in (Right (Utils.pyPrimaryToPyExpression indexedExpr)))))))-        Core.TermList v0 -> Eithers.bind (Eithers.mapList encode v0) (\pyExprs ->-          let consListOf = Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "ConsList")) (Syntax.Name "of")-          in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary consListOf) pyExprs)))-        Core.TermLiteral v0 -> encodeLiteral v0-        Core.TermMap v0 -> Eithers.bind (Eithers.mapList (\kv ->-          let k = Pairs.first kv-              v = Pairs.second kv-          in (Eithers.bind (encode k) (\pyK -> Eithers.bind (encode v) (\pyV -> Right (Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple [-            Utils.pyExpressionToPyStarNamedExpression pyK,-            (Utils.pyExpressionToPyStarNamedExpression pyV)]))))))) (Maps.toList v0)) (\tuplePairs ->-          let pmapOfEntries =-                  Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "PersistentMap")) (Syntax.Name "of_entries")-          in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pmapOfEntries) tuplePairs)))-        Core.TermOptional v0 -> Optionals.match v0 (Right (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "None_")) [])) (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Given")) [-          pyexp])))-        Core.TermPair v0 ->-          let t1 = Pairs.first v0-              t2 = Pairs.second v0-          in (Eithers.bind (encode t1) (\pyExpr1 -> Eithers.bind (encode t2) (\pyExpr2 -> Right (Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple [-            Utils.pyExpressionToPyStarNamedExpression pyExpr1,-            (Utils.pyExpressionToPyStarNamedExpression pyExpr2)]))))))-        Core.TermRecord v0 ->-          let tname = Core.recordTypeName v0-              fields = Core.recordFields v0-          in (Eithers.bind (Eithers.mapList (\fld -> encode (Core.fieldTerm fld)) fields) (\pargs -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeNameQualified env tname)) pargs)))-        Core.TermSet v0 -> Eithers.bind (Eithers.mapList encode (Sets.toList v0)) (\pyEls ->-          let psetOf = Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "PersistentSet")) (Syntax.Name "of")-          in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary psetOf) pyEls)))-        Core.TermTypeApplication v0 ->-          let body = Core.typeApplicationTermBody v0-          in (Eithers.bind (encodeTermInline cx env True (stripTypeApps body)) (\pybase -> withCast pybase))-        Core.TermTypeLambda v0 ->-          let body = Core.typeLambdaBody v0-          in (withTypeLambda env v0 (\env2 -> encodeTermInline cx env2 noCast body))-        Core.TermInject v0 ->-          let tname = Core.injectionTypeName v0-              field = Core.injectionField v0-          in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt -> Logic.ifElse (Predicates.isEnumRowType rt) (Right (Utils.projectFromExpression (Utils.pyNameToPyExpression (PythonNames.encodeNameQualified env tname)) (PythonNames.encodeEnumValue env (Core.fieldName field)))) (-            let fname = Core.fieldName field-                isUnitVariant =-                        Optionals.match (Lists.find (\ft -> Equality.equal (Core.unName (Core.fieldTypeName ft)) (Core.unName fname)) rt) False (\ft -> Predicates.isUnitType (Strip.deannotateType (Core.fieldTypeType ft)))-            in (Eithers.bind (Logic.ifElse (Logic.or (Predicates.isUnitTerm (Core.fieldTerm field)) isUnitVariant) (Right []) (Eithers.bind (encode (Core.fieldTerm field)) (\parg -> Right [-              parg]))) (\args ->-              let deconflictedName = deconflictVariantName True env tname fname (PythonEnvironment.pythonEnvironmentGraph env)-              in (Right (Utils.castTo (PythonNames.typeVariableReference env tname) (Utils.functionCall (Utils.pyNameToPyPrimary deconflictedName) args))))))))-        Core.TermUnit -> Right (Utils.pyNameToPyExpression Utils.pyNone)-        Core.TermVariable v0 -> encodeVariable cx env v0 []-        Core.TermWrap v0 ->-          let tname = Core.wrappedTermTypeName v0-              inner = Core.wrappedTermBody v0-          in (Eithers.bind (encode inner) (\parg -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeNameQualified env tname)) [-            parg])))---- | Encode a term to a list of statements with return as final statement-encodeTermMultiline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Term -> Either Errors.Error [Syntax.Statement]-encodeTermMultiline cx env term =--      let dfltLogic =-              Eithers.bind (analyzePythonFunction cx env term) (\fs ->-                let params = Typing.functionStructureParams fs-                    bindings = Typing.functionStructureBindings fs-                    innerBody = Typing.functionStructureBody fs-                    env2 = Typing.functionStructureEnvironment fs-                in (Logic.ifElse (Lists.isEmpty bindings) (Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [-                  Utils.returnSingle expr])) (Eithers.bind (Eithers.mapList (encodeBindingAs cx env2) bindings) (\bindingStmts -> Eithers.bind (encodeTermMultiline cx env2 innerBody) (\bodyStmts -> Right (Lists.concat2 bindingStmts bodyStmts))))))-          gathered = Analysis.gatherApplications term-          args = Pairs.first gathered-          body = Pairs.second gathered-      in (Logic.ifElse (Equality.equal (Lists.length args) 1) (-        let arg = Optionals.withDefault Core.TermUnit (Lists.head args)-        in case (Strip.deannotateAndDetypeTerm body) of-          Core.TermCases v0 ->-            let tname = Core.caseStatementTypeName v0-                dflt = Core.caseStatementDefault v0-                cases_ = Core.caseStatementCases v0-            in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->-              let isEnum = Predicates.isEnumRowType rt-                  isFull = isCasesFull rt cases_-              in (Eithers.bind (encodeTermInline cx env False arg) (\pyArg -> Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) (deduplicateCaseVariables cases_)) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->-                let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple pyArg)-                    matchStmt =-                            Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {-                              Syntax.matchStatementSubject = subj,-                              Syntax.matchStatementCases = (Lists.concat2 pyCases pyDflt)}))-                in (Right [-                  matchStmt])))))))-          _ -> dfltLogic) dfltLogic)---- | Encode a term body for TCO: tail self-calls become param reassignment + continue-encodeTermMultilineTCO :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.Name] -> Core.Term -> Either Errors.Error [Syntax.Statement]-encodeTermMultilineTCO cx env funcName paramNames term =--      let stripped = Strip.deannotateAndDetypeTerm term-          gathered = Analysis.gatherApplications stripped-          gatherArgs = Pairs.first gathered-          gatherFun = Pairs.second gathered-          strippedFun = Strip.deannotateAndDetypeTerm gatherFun-          isSelfCall =-                  case strippedFun of-                    Core.TermVariable v0 -> Equality.equal v0 funcName-                    _ -> False-      in (Logic.ifElse (Logic.and isSelfCall (Equality.equal (Lists.length gatherArgs) (Lists.length paramNames))) (Eithers.bind (Eithers.mapList (\a -> encodeTermInline cx env False a) gatherArgs) (\pyArgs ->-        let assignments =-                Lists.map (\pair ->-                  let paramName = Pairs.first pair-                      pyArg = Pairs.second pair-                  in (Utils.assignmentStatement (PythonNames.encodeName False Util.CaseConventionLowerSnake env paramName) pyArg)) (Lists.zip paramNames pyArgs)-            continueStmt = Syntax.StatementSimple [-                  Syntax.SimpleStatementContinue]-        in (Right (Lists.concat2 assignments [-          continueStmt])))) (-        let gathered2 = Analysis.gatherApplications term-            args2 = Pairs.first gathered2-            body2 = Pairs.second gathered2-        in (Logic.ifElse (Equality.equal (Lists.length args2) 1) (-          let arg = Optionals.withDefault Core.TermUnit (Lists.head args2)-          in case (Strip.deannotateAndDetypeTerm body2) of-            Core.TermCases v0 ->-              let tname = Core.caseStatementTypeName v0-                  dflt = Core.caseStatementDefault v0-                  cases_ = Core.caseStatementCases v0-              in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->-                let isEnum = Predicates.isEnumRowType rt-                    isFull = isCasesFull rt cases_-                in (Eithers.bind (encodeTermInline cx env False arg) (\pyArg -> Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e2 -> \t2 -> encodeTermMultilineTCO cx e2 funcName paramNames t2)) (deduplicateCaseVariables cases_)) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t2 -> encodeTermInline cx env False t2) isFull dflt tname) (\pyDflt ->-                  let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple pyArg)-                      matchStmt =-                              Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {-                                Syntax.matchStatementSubject = subj,-                                Syntax.matchStatementCases = (Lists.concat2 pyCases pyDflt)}))-                  in (Right [-                    matchStmt])))))))-            _ -> Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [-              Utils.returnSingle expr])) (Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [-          Utils.returnSingle expr])))))---- | Encode a Hydra type to a Python type expression-encodeType :: PythonEnvironment.PythonEnvironment -> Core.Type -> Either t0 Syntax.Expression-encodeType env typ =--      let dflt = Right (Utils.doubleQuotedString (Strings.concat2 "type = " (PrintCore.type_ (Strip.deannotateType typ))))-      in case (Strip.deannotateType typ) of-        Core.TypeApplication v0 -> encodeApplicationType env v0-        Core.TypeFunction v0 -> encodeFunctionType env v0-        Core.TypeForall v0 -> encodeForallType env v0-        Core.TypeList v0 -> Eithers.bind (encodeType env v0) (\pyet -> Right (Utils.nameAndParams (Syntax.Name "Sequence") [-          pyet]))-        Core.TypeMap v0 -> Eithers.bind (encodeType env (Core.mapTypeKeys v0)) (\pykt -> Eithers.bind (encodeType env (Core.mapTypeValues v0)) (\pyvt -> Right (Utils.nameAndParams (Syntax.Name "Mapping") [-          pykt,-          pyvt])))-        Core.TypeLiteral v0 -> encodeLiteralType v0-        Core.TypeOptional v0 -> Eithers.bind (encodeType env v0) (\ptype -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Optional"))) [-          ptype])))-        Core.TypeEither v0 -> Eithers.bind (encodeType env (Core.eitherTypeLeft v0)) (\pyleft -> Eithers.bind (encodeType env (Core.eitherTypeRight v0)) (\pyright -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Either"))) [-          pyleft,-          pyright]))))-        Core.TypePair v0 -> Eithers.bind (encodeType env (Core.pairTypeFirst v0)) (\pyFirst -> Eithers.bind (encodeType env (Core.pairTypeSecond v0)) (\pySecond -> Right (Utils.nameAndParams (Syntax.Name "tuple") [-          pyFirst,-          pySecond])))-        Core.TypeRecord _ -> dflt-        Core.TypeSet v0 -> Eithers.bind (encodeType env v0) (\pyet -> Right (Utils.nameAndParams (Syntax.Name "Set") [-          pyet]))-        Core.TypeUnion _ -> dflt-        Core.TypeUnit -> Right (Utils.pyNameToPyExpression Utils.pyNone)-        Core.TypeVoid -> Right (Utils.pyNameToPyExpression Utils.pyNone)-        Core.TypeVariable v0 -> Right (PythonNames.typeVariableReference env v0)-        Core.TypeWrap _ -> dflt-        Core.TypeAnnotated _ -> dflt-        Core.TypeEffect v0 -> encodeType env v0---- | Encode a type definition, dispatching based on type structure-encodeTypeAssignment :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Type -> Maybe String -> Either Errors.Error [[Syntax.Statement]]-encodeTypeAssignment cx env name typ comment =-    Eithers.bind (encodeTypeAssignmentInner cx env name typ comment) (\defStmts -> Right (Lists.map (\s -> [-      s]) defStmts))---- | Encode the inner type definition, unwrapping forall types-encodeTypeAssignmentInner :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Type -> Maybe String -> Either Errors.Error [Syntax.Statement]-encodeTypeAssignmentInner cx env name typ comment =--      let stripped = Strip.deannotateType typ-          dflt = Eithers.bind (encodeType env typ) (\typeExpr -> Right (encodeTypeDefSingle env name comment typeExpr))-      in case stripped of-        Core.TypeForall v0 ->-          let tvar = Core.forallTypeParameter v0-              body = Core.forallTypeBody v0-              newEnv = extendEnvWithTypeVar env tvar-          in (encodeTypeAssignmentInner cx newEnv name body comment)-        Core.TypeRecord v0 -> Eithers.map (\s -> [-          s]) (encodeRecordType cx env name v0 comment)-        Core.TypeUnion v0 -> encodeUnionType cx env name v0 comment-        Core.TypeWrap v0 -> encodeWrappedType env name v0 comment-        _ -> dflt---- | Encode a simple type alias definition-encodeTypeDefSingle :: PythonEnvironment.PythonEnvironment -> Core.Name -> Maybe String -> Syntax.Expression -> [Syntax.Statement]-encodeTypeDefSingle env name comment typeExpr =--      let pyName = PythonNames.encodeName False Util.CaseConventionPascal env name-          tparams = environmentTypeParameters env-      in [-        typeAliasStatementFor env pyName tparams comment typeExpr]---- | Encode a type to a Python expression, quoting if the type has free variables-encodeTypeQuoted :: PythonEnvironment.PythonEnvironment -> Core.Type -> Either t0 Syntax.Expression-encodeTypeQuoted env typ =-    Eithers.bind (encodeType env typ) (\pytype -> Right (Logic.ifElse (Sets.isEmpty (Variables.freeVariablesInType typ)) pytype (Utils.doubleQuotedString (Serialization.printExpr (Serde.expressionToExpr pytype)))))---- | Encode a union elimination as an inline conditional chain (isinstance-based ternary)-encodeUnionEliminationInline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.CaseStatement -> Syntax.Expression -> Either Errors.Error Syntax.Expression-encodeUnionEliminationInline cx env cs pyArg =--      let tname = Core.caseStatementTypeName cs-          mdefault = Core.caseStatementDefault cs-          cases_ = Core.caseStatementCases cs-      in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->-        let isEnum = Predicates.isEnumRowType rt-            valueExpr = Utils.projectFromExpression pyArg (Syntax.Name "value")-            isinstancePrimary = Utils.pyNameToPyPrimary (Syntax.Name "isinstance")-        in (Eithers.bind (Optionals.match mdefault (Right (unsupportedExpression "no matching case in inline union elimination")) (\dflt -> encodeTermInline cx env False dflt)) (\pyDefault ->-          let encodeBranch =-                  \field ->-                    let fname = Core.caseAlternativeName field-                        fterm = Core.caseAlternativeHandler field-                        isUnitVariant = isVariantUnitType rt fname-                        pyVariantName = deconflictVariantName True env tname fname (PythonEnvironment.pythonEnvironmentGraph env)-                        pyTypeName = PythonNames.encodeName True Util.CaseConventionPascal env tname-                        pyEnumValue = PythonNames.encodeEnumValue env fname-                        enumMemberExpr =-                                Utils.pyPrimaryToPyExpression (Syntax.PrimaryCompound (Syntax.PrimaryWithRhs {-                                  Syntax.primaryWithRhsPrimary = (Utils.pyNameToPyPrimary pyTypeName),-                                  Syntax.primaryWithRhsRhs = (Syntax.PrimaryRhsProject pyEnumValue)}))-                        isinstanceCheck =-                                Logic.ifElse isEnum (Syntax.ExpressionSimple (Syntax.Disjunction [-                                  Syntax.Conjunction [-                                    Syntax.InversionSimple (Syntax.Comparison {-                                      Syntax.comparisonLhs = (Utils.pyExpressionToBitwiseOr pyArg),-                                      Syntax.comparisonRhs = [-                                        Syntax.CompareOpBitwiseOrPair {-                                          Syntax.compareOpBitwiseOrPairOperator = Syntax.CompareOpEq,-                                          Syntax.compareOpBitwiseOrPairRhs = (Utils.pyExpressionToBitwiseOr enumMemberExpr)}]})]])) (Utils.functionCall isinstancePrimary [-                                  pyArg,-                                  (Utils.pyNameToPyExpression pyVariantName)])-                    in (Eithers.bind (encodeTermInline cx env False fterm) (\pyBranch ->-                      let pyResult =-                              Logic.ifElse isEnum (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [-                                pyArg]) (Logic.ifElse isUnitVariant (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [-                                pyArg]) (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [-                                valueExpr]))-                      in (Right (isinstanceCheck, pyResult))))-          in (Eithers.bind (Eithers.mapList encodeBranch cases_) (\encodedBranches ->-            let buildChain =-                    \elseExpr -> \branchPair ->-                      let checkExpr = Pairs.first branchPair-                          resultExpr = Pairs.second branchPair-                      in (Syntax.ExpressionConditional (Syntax.Conditional {-                        Syntax.conditionalBody = (Utils.pyExpressionToDisjunction resultExpr),-                        Syntax.conditionalIf = (Utils.pyExpressionToDisjunction checkExpr),-                        Syntax.conditionalElse = elseExpr}))-            in (Right (Lists.foldl buildChain pyDefault (Lists.reverse encodedBranches)))))))))---- | Encode a union field as a variant class-encodeUnionField :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> Core.FieldType -> Either Errors.Error Syntax.Statement-encodeUnionField cx env unionName fieldType =--      let fname = Core.fieldTypeName fieldType-          ftype = Core.fieldTypeType fieldType-      in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\fcomment ->-        let isUnit = Equality.equal (Strip.deannotateType ftype) Core.TypeUnit-            isDecimal = Equality.equal (Strip.deannotateType ftype) (Core.TypeLiteral Core.LiteralTypeDecimal)-            varName = deconflictVariantName False env unionName fname (PythonEnvironment.pythonEnvironmentGraph env)-            tparamNames = findTypeParams env ftype-            tparamPyNames = Lists.map PythonNames.encodeTypeVariable tparamNames-            fieldParams = Lists.map Utils.pyNameToPyTypeParameter tparamPyNames-            body =-                    Logic.ifElse isUnit (Utils.indentedBlock fcomment [-                      Utils.unitVariantMethods varName]) (Logic.ifElse isDecimal (Utils.indentedBlock fcomment [-                      Utils.decimalVariantMethods]) (Utils.indentedBlock fcomment []))-        in (Eithers.bind (Logic.ifElse isUnit (Right Nothing) (Eithers.bind (encodeTypeQuoted env ftype) (\quotedType -> Right (Just (variantArgs quotedType []))))) (\margs -> Right (Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {-          Syntax.classDefinitionDecorators = Nothing,-          Syntax.classDefinitionName = varName,-          Syntax.classDefinitionTypeParams = fieldParams,-          Syntax.classDefinitionArguments = margs,-          Syntax.classDefinitionBody = body}))))))---- | Encode a union field as a primary expression for | alternatives-encodeUnionFieldAlt :: PythonEnvironment.PythonEnvironment -> Core.Name -> Core.FieldType -> Syntax.Primary-encodeUnionFieldAlt env unionName fieldType =--      let fname = Core.fieldTypeName fieldType-          ftype = Core.fieldTypeType fieldType-          tparamNames = findTypeParams env ftype-          tparams = Lists.map PythonNames.encodeTypeVariable tparamNames-          namePrim = Utils.pyNameToPyPrimary (PythonNames.variantName False env unionName fname)-      in (Logic.ifElse (Lists.isEmpty tparams) namePrim (-        let tparamExprs = Lists.map Utils.pyNameToPyExpression tparams-        in (Utils.primaryWithExpressionSlices namePrim tparamExprs)))---- | Encode a union type as an enum (for unit-only fields) or variant classes-encodeUnionType :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> Maybe String -> Either Errors.Error [Syntax.Statement]-encodeUnionType cx env name rowType comment =-    Logic.ifElse (Predicates.isEnumRowType rowType) (Eithers.bind (Eithers.mapList (encodeEnumValueAssignment cx env) rowType) (\vals ->-      let body = Utils.indentedBlock comment vals-          enumName = Syntax.Name "Enum"-          args = Just (Utils.pyExpressionsToPyArgs [-                Utils.pyNameToPyExpression enumName])-          pyName = PythonNames.encodeName False Util.CaseConventionPascal env name-          typeConstStmt =-                  Utils.dottedAssignmentStatement pyName (PythonNames.encodeConstantForTypeName env name) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Core.Name "hydra.core.Name"))) [-                    Utils.doubleQuotedString (Core.unName name)])-      in (Right [-        Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {-          Syntax.classDefinitionDecorators = Nothing,-          Syntax.classDefinitionName = pyName,-          Syntax.classDefinitionTypeParams = [],-          Syntax.classDefinitionArguments = args,-          Syntax.classDefinitionBody = body}),-        typeConstStmt]))) (-      let constStmts = encodeNameConstants env name rowType-      in (Eithers.bind (Eithers.mapList (encodeUnionField cx env name) rowType) (\fieldStmts ->-        let tparams = environmentTypeParameters env-            unionAlts = Lists.map (encodeUnionFieldAlt env name) rowType-            unionStmts =-                    unionTypeStatementsFor env (PythonNames.encodeName False Util.CaseConventionPascal env name) tparams comment (Utils.orExpression unionAlts) constStmts-        in (Right (Lists.concat2 fieldStmts unionStmts)))))---- | Encode a variable reference to a Python expression-encodeVariable :: t0 -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Syntax.Expression] -> Either Errors.Error Syntax.Expression-encodeVariable cx env name args =--      let g = pythonEnvironmentGetGraph env-          tc = PythonEnvironment.pythonEnvironmentGraph env-          tcTypes = Graph.graphBoundTypes tc-          tcLambdaVars = Graph.graphLambdaVariables tc-          tcMetadata = Graph.graphMetadata tc-          inlineVars = PythonEnvironment.pythonEnvironmentInlineVariables env-          mTypScheme = Maps.lookup name tcTypes-          mTyp = Optionals.map (\ts_ -> Core.typeSchemeBody ts_) mTypScheme-          asVariable = PythonNames.termVariableReference env name-          asFunctionCall =-                  Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env name)) args-          asLazyCall = Utils.functionCall (Utils.pyExpressionToPyPrimary (lazyDotGet asVariable)) args-      in (Logic.ifElse (Logic.not (Lists.isEmpty args)) (Logic.ifElse (Sets.member name inlineVars) (Right asLazyCall) (Optionals.match (Lexical.lookupPrimitive g name) (Right asFunctionCall) (\prim ->-        let primArity = Arity.primitiveArity prim-        in (Logic.ifElse (Equality.equal primArity (Lists.length args)) (Right asFunctionCall) (-          let numRemaining = Math.sub primArity (Lists.length args)-              remainingParams =-                      Lists.map (\i -> Syntax.Name (Strings.concat2 "x" (Literals.printInt32 i))) (Math.range 1 (Math.add numRemaining 1))-              remainingExprs =-                      Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [-                        Syntax.Conjunction [-                          Syntax.InversionSimple (Syntax.Comparison {-                            Syntax.comparisonLhs = Syntax.BitwiseOr {-                              Syntax.bitwiseOrLhs = Nothing,-                              Syntax.bitwiseOrRhs = Syntax.BitwiseXor {-                                Syntax.bitwiseXorLhs = Nothing,-                                Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {-                                  Syntax.bitwiseAndLhs = Nothing,-                                  Syntax.bitwiseAndRhs = Syntax.ShiftExpression {-                                    Syntax.shiftExpressionLhs = Nothing,-                                    Syntax.shiftExpressionRhs = Syntax.Sum {-                                      Syntax.sumLhs = Nothing,-                                      Syntax.sumRhs = Syntax.Term {-                                        Syntax.termLhs = Nothing,-                                        Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {-                                          Syntax.powerLhs = Syntax.AwaitPrimary {-                                            Syntax.awaitPrimaryAwait = False,-                                            Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName n))},-                                          Syntax.powerRhs = Nothing}))}}}}}},-                            Syntax.comparisonRhs = []})]])) remainingParams-              allArgs = Lists.concat2 args remainingExprs-              fullCall =-                      Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env name)) allArgs-          in (Right (makeUncurriedLambda remainingParams fullCall))))))) (Optionals.match mTyp (Logic.ifElse (Sets.member name tcLambdaVars) (Right asVariable) (Logic.ifElse (Sets.member name inlineVars) (Right (lazyDotGet asVariable)) (Optionals.match (Lexical.lookupPrimitive g name) (Optionals.match (Lexical.lookupBinding g name) (Optionals.match (Maps.lookup name tcMetadata) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Unknown variable: " (Core.unName name))))) (\_ -> Right asFunctionCall)) (\el ->-        let elTrivial1 = Predicates.isTrivialTerm (Core.bindingTerm el)-        in (Optionals.match (Core.bindingTypeScheme el) (Right asVariable) (\ts -> Logic.ifElse (Logic.and (Logic.and (Equality.equal (Arity.typeSchemeArity ts) 0) (Predicates.isComplexBinding tc el)) (Logic.not elTrivial1)) (Right asFunctionCall) (-          let asFunctionRef =-                  Logic.ifElse (Logic.not (Lists.isEmpty (Core.typeSchemeVariables ts))) (makeSimpleLambda (Arity.typeArity (Core.typeSchemeBody ts)) asVariable) asVariable-          in (Right asFunctionRef)))))) (\prim ->-        let primArity = Arity.primitiveArity prim-        in (Logic.ifElse (Equality.equal primArity 0) (Right asFunctionCall) (-          let ts = Scoping.termSignatureToTypeScheme (Packaging.primitiveDefinitionSignature (Graph.primitiveDefinition prim))-              asFunctionRef =-                      Logic.ifElse (Logic.not (Lists.isEmpty (Core.typeSchemeVariables ts))) (makeSimpleLambda (Arity.typeArity (Core.typeSchemeBody ts)) asVariable) asVariable-          in (Right asFunctionRef))))))) (\typ -> Logic.ifElse (Sets.member name tcLambdaVars) (Right asVariable) (Logic.ifElse (Sets.member name inlineVars) (-        let unwrapped = lazyDotGet asVariable-            asFunctionRef =-                    Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) unwrapped) unwrapped-        in (Right asFunctionRef)) (Logic.ifElse (Logic.not (Maps.member name tcMetadata)) (Optionals.match (Lexical.lookupBinding g name) (-        let asFunctionRef =-                Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable-        in (Right asFunctionRef)) (\el ->-        let elTrivial = Predicates.isTrivialTerm (Core.bindingTerm el)-        in (Optionals.match (Core.bindingTypeScheme el) (Logic.ifElse (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Logic.not elTrivial)) (Right asFunctionCall) (-          let asFunctionRef =-                  Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable-          in (Right asFunctionRef))) (\ts -> Logic.ifElse (Logic.and (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Predicates.isComplexBinding tc el)) (Logic.not elTrivial)) (Right asFunctionCall) (-          let asFunctionRef =-                  Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable-          in (Right asFunctionRef)))))) (Logic.ifElse (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Predicates.isComplexVariable tc name)) (Right asFunctionCall) (-        let asFunctionRef =-                Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable-        in (Right asFunctionRef))))))))---- | Encode a wrapped type (newtype) to a Python class definition-encodeWrappedType :: PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Type -> Maybe String -> Either t0 [Syntax.Statement]-encodeWrappedType env name typ comment =--      let tparamList = Pairs.first (PythonEnvironment.pythonEnvironmentBoundTypeVariables env)-      in (Eithers.bind (encodeTypeQuoted env typ) (\ptypeQuoted ->-        let pyName = PythonNames.encodeName False Util.CaseConventionPascal env name-            body = Utils.indentedBlock comment []-            typeConstStmt =-                    Utils.dottedAssignmentStatement pyName (PythonNames.encodeConstantForTypeName env name) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Core.Name "hydra.core.Name"))) [-                      Utils.doubleQuotedString (Core.unName name)])-        in (Right [-          Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {-            Syntax.classDefinitionDecorators = Nothing,-            Syntax.classDefinitionName = pyName,-            Syntax.classDefinitionTypeParams = (Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) (findTypeParams env typ)),-            Syntax.classDefinitionArguments = (Just (variantArgs ptypeQuoted tparamList)),-            Syntax.classDefinitionBody = body}),-          typeConstStmt])))---- | Create a value pattern for an enum variant-enumVariantPattern :: PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Name -> Syntax.ClosedPattern-enumVariantPattern env typeName fieldName =-    Syntax.ClosedPatternValue (Syntax.ValuePattern (Syntax.Attribute [-      PythonNames.encodeName True Util.CaseConventionPascal env typeName,-      (PythonNames.encodeEnumValue env fieldName)]))---- | Get type parameters from environment as Python TypeParameters-environmentTypeParameters :: PythonEnvironment.PythonEnvironment -> [Syntax.TypeParameter]-environmentTypeParameters env =-    Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) (Pairs.first (PythonEnvironment.pythonEnvironmentBoundTypeVariables env))---- | Extend environment with lambda parameters from a term-extendEnvWithLambdaParams :: PythonEnvironment.PythonEnvironment -> Core.Term -> PythonEnvironment.PythonEnvironment-extendEnvWithLambdaParams env term =--      let go =-              \e -> \t -> case (Strip.deannotateAndDetypeTerm t) of-                Core.TermLambda v0 ->-                  let newTc = Scoping.extendGraphForLambda (pythonEnvironmentGetGraph e) v0-                      newEnv = pythonEnvironmentSetGraph newTc e-                  in (go newEnv (Core.lambdaBody v0))-                _ -> e-      in (go env term)---- | Extend a PythonEnvironment with a new bound type variable-extendEnvWithTypeVar :: PythonEnvironment.PythonEnvironment -> Core.Name -> PythonEnvironment.PythonEnvironment-extendEnvWithTypeVar env var_ =--      let oldBound = PythonEnvironment.pythonEnvironmentBoundTypeVariables env-          tparamList = Pairs.first oldBound-          tparamMap = Pairs.second oldBound-          newList = Lists.concat2 tparamList [-                var_]-          newMap = Maps.insert var_ (PythonNames.encodeTypeVariable var_) tparamMap-      in PythonEnvironment.PythonEnvironment {-        PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces env),-        PythonEnvironment.pythonEnvironmentBoundTypeVariables = (newList, newMap),-        PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph env),-        PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings env),-        PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion env),-        PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts env),-        PythonEnvironment.pythonEnvironmentInlineVariables = (PythonEnvironment.pythonEnvironmentInlineVariables env),-        PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs env)}---- | Extend metadata based on a term (used during module encoding)-extendMetaForTerm :: Bool -> PythonEnvironment.PythonModuleMetadata -> Core.Term -> PythonEnvironment.PythonModuleMetadata-extendMetaForTerm topLevel meta0 term =--      let step =-              \meta -> \t -> case t of-                Core.TermEither v0 ->-                  let metaWithCast = setMetaUsesCast True meta-                  in (Eithers.either (\_ -> setMetaUsesLeft metaWithCast True) (\_ -> setMetaUsesRight metaWithCast True) v0)-                Core.TermLambda v0 -> Optionals.match (Core.lambdaDomain v0) meta (\dom -> Logic.ifElse topLevel (extendMetaForType True False dom meta) meta)-                Core.TermLet v0 ->-                  let bindings = Core.letBindings v0-                  in (Lists.foldl (-                    let forBinding =-                            \m -> \b -> Optionals.match (Core.bindingTypeScheme b) m (\ts ->-                              let term1 = Core.bindingTerm b-                              in (Logic.ifElse (Analysis.isSimpleAssignment term1) m (extendMetaForType True True (Core.typeSchemeBody ts) m)))-                    in forBinding) meta bindings)-                Core.TermLiteral v0 -> case v0 of-                  Core.LiteralDecimal _ -> setMetaUsesDecimal meta True-                  _ -> meta-                Core.TermList _ -> setMetaUsesFrozenList meta True-                Core.TermMap _ -> setMetaUsesFrozenDict meta True-                Core.TermSet _ -> setMetaUsesFrozenSet meta True-                Core.TermOptional v0 -> Optionals.match v0 (setMetaUsesNothing meta True) (\_ -> setMetaUsesJust meta True)-                Core.TermInject _ -> setMetaUsesCast True meta-                _ -> meta-      in (Rewriting.foldOverTerm Coders.TraversalOrderPre step meta0 term)---- | Extend metadata based on a type (used during module encoding)-extendMetaForType :: Bool -> Bool -> Core.Type -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-extendMetaForType topLevel isTermAnnot typ meta =--      let currentTvars = PythonEnvironment.pythonModuleMetadataTypeVariables meta-          newTvars = collectTypeVariables currentTvars typ-          metaWithTvars = setMetaTypeVariables meta newTvars-          metaWithSubtypes = Lists.foldl (\m -> \t -> extendMetaForType False isTermAnnot t m) metaWithTvars (Rewriting.subtypes typ)-      in case (Strip.deannotateType typ) of-        Core.TypeFunction _ -> Logic.ifElse (Logic.and isTermAnnot topLevel) metaWithSubtypes (setMetaUsesCallable metaWithSubtypes True)-        Core.TypeList _ -> setMetaUsesFrozenList metaWithSubtypes True-        Core.TypeMap _ -> setMetaUsesFrozenDict metaWithSubtypes True-        Core.TypeSet _ -> setMetaUsesFrozenSet metaWithSubtypes True-        Core.TypeOptional _ -> setMetaUsesMaybe metaWithSubtypes True-        Core.TypeEither _ -> setMetaUsesEither metaWithSubtypes True-        Core.TypeLiteral v0 -> case v0 of-          Core.LiteralTypeDecimal -> setMetaUsesDecimal metaWithSubtypes True-          _ -> metaWithSubtypes-        Core.TypeUnion v0 -> Logic.ifElse (Predicates.isEnumRowType v0) (setMetaUsesEnum metaWithSubtypes True) (Logic.ifElse (Logic.not (Lists.isEmpty v0)) (setMetaUsesNode metaWithSubtypes True) metaWithSubtypes)-        Core.TypeForall v0 ->-          let body = Core.forallTypeBody v0-              metaForWrap = digForWrap isTermAnnot metaWithSubtypes body-          in case (Strip.deannotateType body) of-            Core.TypeRecord _ -> setMetaUsesGeneric metaForWrap True-            _ -> metaForWrap-        Core.TypeRecord v0 ->-          let hasAnnotated = Lists.foldl (\b -> \ft -> Logic.or b (Annotations.hasTypeDescription (Core.fieldTypeType ft))) False v0-              meta1 = Logic.ifElse (Lists.isEmpty v0) metaWithSubtypes (setMetaUsesDataclass metaWithSubtypes True)-          in (Logic.ifElse hasAnnotated (setMetaUsesAnnotated meta1 True) meta1)-        Core.TypeWrap _ -> Logic.ifElse isTermAnnot metaWithSubtypes (setMetaUsesNode metaWithSubtypes True)-        _ -> metaWithSubtypes---- | Extend metadata for a list of types-extendMetaForTypes :: [Core.Type] -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-extendMetaForTypes types meta =--      let names = Sets.unions (Lists.map (\t -> Dependencies.typeDependencyNames False t) types)-          currentNs = PythonEnvironment.pythonModuleMetadataNamespaces meta-          updatedNs = Analysis.addNamesToModuleNames (PythonNames.encodeNamespaceWithOverrides Sets.empty) names currentNs-          meta1 = setMetaNamespaces updatedNs meta-      in (Lists.foldl (\m -> \t -> extendMetaForType True False t m) meta1 types)---- | Extract CaseStatement from a case elimination term-extractCaseElimination :: Core.Term -> Maybe Core.CaseStatement-extractCaseElimination term =-    case (Strip.deannotateAndDetypeTerm term) of-      Core.TermCases v0 -> Just v0-      _ -> Nothing---- | Prefer signature parameter types over analysis-captured lambda domains when both are available in equal length (#488).-fillDomsFromSignature :: [t0] -> [t0] -> [t0]-fillDomsFromSignature doms sigParamTypes =-    Logic.ifElse (Equality.equal (Lists.length doms) (Lists.length sigParamTypes)) sigParamTypes doms---- | Find type parameters in a type that are bound in the environment-findTypeParams :: PythonEnvironment.PythonEnvironment -> Core.Type -> [Core.Name]-findTypeParams env typ =--      let boundVars = Pairs.second (PythonEnvironment.pythonEnvironmentBoundTypeVariables env)-          isBound = \v -> Optionals.isGiven (Maps.lookup v boundVars)-      in (Lists.filter isBound (Sets.toList (Variables.freeVariablesInType typ)))---- | Encode a function definition with parameters and body-functionDefinitionToExpr :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.Name] -> [Core.Name] -> Core.Term -> [Core.Type] -> Maybe Core.Type -> Maybe String -> [Syntax.Statement] -> Either Errors.Error Syntax.Statement-functionDefinitionToExpr cx env name tparams args body doms mcod comment prefixes =-    Eithers.bind (Eithers.mapList (\pair ->-      let argName = Pairs.first pair-          typ = Pairs.second pair-      in (Eithers.bind (encodeType env typ) (\pyTyp -> Right (Syntax.ParamNoDefault {-        Syntax.paramNoDefaultParam = Syntax.Param {-          Syntax.paramName = (PythonNames.encodeName False Util.CaseConventionLowerSnake env argName),-          Syntax.paramAnnotation = (Just (Syntax.Annotation pyTyp))},-        Syntax.paramNoDefaultTypeComment = Nothing})))) (Lists.zip args doms)) (\pyArgs ->-      let pyParams =-              Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {-                Syntax.paramNoDefaultParametersParamNoDefault = pyArgs,-                Syntax.paramNoDefaultParametersParamWithDefault = [],-                Syntax.paramNoDefaultParametersStarEtc = Nothing})-          isTCO = Logic.and (Logic.not (Lists.isEmpty args)) (Analysis.isSelfTailRecursive name body)-      in (Eithers.bind (Logic.ifElse isTCO (Eithers.bind (encodeTermMultilineTCO cx env name args body) (\tcoStmts ->-        let trueExpr = Syntax.NamedExpressionSimple (Utils.pyAtomToPyExpression Syntax.AtomTrue)-            whileBody = Utils.indentedBlock Nothing [-                  Lists.concat2 prefixes tcoStmts]-            whileStmt =-                    Syntax.StatementCompound (Syntax.CompoundStatementWhile (Syntax.WhileStatement {-                      Syntax.whileStatementCondition = trueExpr,-                      Syntax.whileStatementBody = whileBody,-                      Syntax.whileStatementElse = Nothing}))-        in (Right (Utils.indentedBlock comment [-          [-            whileStmt]])))) (Eithers.bind (encodeTermMultiline cx env body) (\stmts -> Right (Utils.indentedBlock comment [-        Lists.concat2 prefixes stmts])))) (\block -> Eithers.bind (Optionals.match mcod (Right Nothing) (\cod -> Eithers.bind (encodeType env cod) (\pytyp -> Right (Just pytyp)))) (\mreturnType ->-        let pyTparams =-                Logic.ifElse useInlineTypeParams (Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) tparams) []-            isThunk = Lists.isEmpty args-            mDecorators = Logic.ifElse isThunk (Just (Syntax.Decorators [-                  lruCacheDecorator])) Nothing-            pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env name-        in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {-          Syntax.functionDefinitionDecorators = mDecorators,-          Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {-            Syntax.functionDefRawAsync = False,-            Syntax.functionDefRawName = pyName,-            Syntax.functionDefRawTypeParams = pyTparams,-            Syntax.functionDefRawParams = (Just pyParams),-            Syntax.functionDefRawReturnType = mreturnType,-            Syntax.functionDefRawFuncTypeComment = Nothing,-            Syntax.functionDefRawBlock = block}}))))))))---- | Extract lambdas and their bodies from a term-gatherLambdas :: Core.Term -> ([Core.Name], Core.Term)-gatherLambdas term =--      let go =-              \params -> \t -> case (Strip.deannotateAndDetypeTerm t) of-                Core.TermLambda v0 -> go (Lists.concat2 params [-                  Core.lambdaParameter v0]) (Core.lambdaBody v0)-                _ -> (params, t)-      in (go [] term)---- | Gather metadata from definitions-gatherMetadata :: S.Set String -> Packaging.ModuleName -> [Packaging.Definition] -> PythonEnvironment.PythonModuleMetadata-gatherMetadata overlaySubs focusNs defs =--      let start = emptyMetadata (Utils.findNamespaces overlaySubs focusNs defs)-          addDef =-                  \meta -> \def -> case def of-                    Packaging.DefinitionTerm v0 ->-                      let term = Packaging.termDefinitionBody v0-                          typ =-                                  Optionals.match (Packaging.termDefinitionSignature v0) (Core.TypeVariable (Core.Name "hydra.core.Unit")) (\sig -> Core.typeSchemeBody (Scoping.termSignatureToTypeScheme sig))-                          meta2 = extendMetaForType True True typ meta-                      in (extendMetaForTerm True meta2 term)-                    Packaging.DefinitionType v0 ->-                      let typ = Core.typeSchemeBody (Packaging.typeDefinitionBody v0)-                          meta2 = setMetaUsesName meta True-                      in (Rewriting.foldOverType Coders.TraversalOrderPre (\m -> \t -> extendMetaForType True False t m) meta2 typ)-          result = Lists.foldl addDef start defs-          tvars = PythonEnvironment.pythonModuleMetadataTypeVariables result-          result2 = setMetaUsesCast True (setMetaUsesLruCache True result)-      in (setMetaUsesTypeVar result2 (Logic.not (Sets.isEmpty tvars)))---- | Create Generic[...] argument expression for class definition-genericArg :: [Core.Name] -> Maybe Syntax.Expression-genericArg tparamList =-    Logic.ifElse (Lists.isEmpty tparamList) Nothing (Just (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Generic"))) (Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [-      Syntax.Conjunction [-        Syntax.InversionSimple (Syntax.Comparison {-          Syntax.comparisonLhs = Syntax.BitwiseOr {-            Syntax.bitwiseOrLhs = Nothing,-            Syntax.bitwiseOrRhs = Syntax.BitwiseXor {-              Syntax.bitwiseXorLhs = Nothing,-              Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {-                Syntax.bitwiseAndLhs = Nothing,-                Syntax.bitwiseAndRhs = Syntax.ShiftExpression {-                  Syntax.shiftExpressionLhs = Nothing,-                  Syntax.shiftExpressionRhs = Syntax.Sum {-                    Syntax.sumLhs = Nothing,-                    Syntax.sumRhs = Syntax.Term {-                      Syntax.termLhs = Nothing,-                      Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {-                        Syntax.powerLhs = Syntax.AwaitPrimary {-                          Syntax.awaitPrimaryAwait = False,-                          Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (PythonNames.encodeTypeVariable n)))},-                        Syntax.powerRhs = Nothing}))}}}}}},-          Syntax.comparisonRhs = []})]])) tparamList))))---- | Create an initial Python environment for code generation, given the on-disk overlay-existence set (#630) driving emission-time primitive-reference redirects-initialEnvironment :: Util.ModuleNames Syntax.DottedName -> Graph.Graph -> S.Set String -> PythonEnvironment.PythonEnvironment-initialEnvironment namespaces tcontext overlaySubs =-    PythonEnvironment.PythonEnvironment {-      PythonEnvironment.pythonEnvironmentNamespaces = namespaces,-      PythonEnvironment.pythonEnvironmentBoundTypeVariables = ([], Maps.empty),-      PythonEnvironment.pythonEnvironmentGraph = tcontext,-      PythonEnvironment.pythonEnvironmentNullaryBindings = Sets.empty,-      PythonEnvironment.pythonEnvironmentVersion = targetPythonVersion,-      PythonEnvironment.pythonEnvironmentSkipCasts = True,-      PythonEnvironment.pythonEnvironmentInlineVariables = Sets.empty,-      PythonEnvironment.pythonEnvironmentOverlaySubs = overlaySubs}---- | Create initial empty metadata for a Python module-initialMetadata :: Packaging.ModuleName -> PythonEnvironment.PythonModuleMetadata-initialMetadata ns =--      let dottedNs = PythonNames.encodeNamespace ns-          emptyNs =-                  Util.ModuleNames {-                    Util.moduleNamesFocus = (ns, dottedNs),-                    Util.moduleNamesMapping = Maps.empty}-      in PythonEnvironment.PythonModuleMetadata {-        PythonEnvironment.pythonModuleMetadataNamespaces = emptyNs,-        PythonEnvironment.pythonModuleMetadataTypeVariables = Sets.empty,-        PythonEnvironment.pythonModuleMetadataUsesAnnotated = False,-        PythonEnvironment.pythonModuleMetadataUsesCallable = False,-        PythonEnvironment.pythonModuleMetadataUsesCast = False,-        PythonEnvironment.pythonModuleMetadataUsesLruCache = False,-        PythonEnvironment.pythonModuleMetadataUsesTypeAlias = False,-        PythonEnvironment.pythonModuleMetadataUsesDataclass = False,-        PythonEnvironment.pythonModuleMetadataUsesDecimal = False,-        PythonEnvironment.pythonModuleMetadataUsesEither = False,-        PythonEnvironment.pythonModuleMetadataUsesEnum = False,-        PythonEnvironment.pythonModuleMetadataUsesFrozenDict = False,-        PythonEnvironment.pythonModuleMetadataUsesFrozenList = False,-        PythonEnvironment.pythonModuleMetadataUsesFrozenSet = False,-        PythonEnvironment.pythonModuleMetadataUsesGeneric = False,-        PythonEnvironment.pythonModuleMetadataUsesJust = False,-        PythonEnvironment.pythonModuleMetadataUsesLeft = False,-        PythonEnvironment.pythonModuleMetadataUsesMaybe = False,-        PythonEnvironment.pythonModuleMetadataUsesName = False,-        PythonEnvironment.pythonModuleMetadataUsesNode = False,-        PythonEnvironment.pythonModuleMetadataUsesNothing = False,-        PythonEnvironment.pythonModuleMetadataUsesRight = False,-        PythonEnvironment.pythonModuleMetadataUsesTypeVar = False}---- | Check if a term is a case statement applied to exactly one argument-isCaseStatementApplication :: Core.Term -> Maybe (Core.Name, (Maybe Core.Term, ([Core.CaseAlternative], Core.Term)))-isCaseStatementApplication term =--      let gathered = Analysis.gatherApplications term-          args = Pairs.first gathered-          body = Pairs.second gathered-      in (Logic.ifElse (Logic.not (Equality.equal (Lists.length args) 1)) Nothing (-        let arg = Optionals.withDefault Core.TermUnit (Lists.head args)-        in case (Strip.deannotateAndDetypeTerm body) of-          Core.TermCases v0 -> Just (Core.caseStatementTypeName v0, (Core.caseStatementDefault v0, (Core.caseStatementCases v0, arg)))-          _ -> Nothing))---- | Check if union cases are fully covered-isCasesFull :: [t0] -> [t1] -> Bool-isCasesFull rowType cases_ =--      let numCases = Lists.length cases_-          numFields = Lists.length rowType-      in (Logic.not (Ordering.lt numCases numFields))---- | Check whether a list of definitions contains any type definitions-isTypeModuleCheck :: [Packaging.Definition] -> Bool-isTypeModuleCheck defs =-    Logic.not (Lists.isEmpty (Lists.filter (\d -> case d of-      Packaging.DefinitionType _ -> True-      _ -> False) defs))---- | Check if a name is a type variable (unqualified - no dots)-isTypeVariableName :: Core.Name -> Bool-isTypeVariableName name = Equality.equal 1 (Lists.length (Strings.splitOn "." (Core.unName name)))---- | Check if a variant field has unit type-isVariantUnitType :: [Core.FieldType] -> Core.Name -> Bool-isVariantUnitType rowType fieldName =--      let mfield = Lists.find (\ft -> Equality.equal (Core.fieldTypeName ft) fieldName) rowType-      in (Optionals.withDefault False (Optionals.map (\ft -> Predicates.isUnitType (Strip.deannotateType (Core.fieldTypeType ft))) mfield))---- | Wrap an expression in a .get() method call (for Lazy unwrap at use sites)-lazyDotGet :: Syntax.Expression -> Syntax.Expression-lazyDotGet expr = Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.projectFromExpression expr (Syntax.Name "get"))) []---- | Per-parameter isLazy flags of a primitive (by name), or empty if not a primitive. Single source of truth for which arguments coders thunk; replaces hard-coded name tables (issue #391).-lazyFlagsForPrimitive :: Graph.Graph -> Core.Name -> [Bool]-lazyFlagsForPrimitive g name =-    Optionals.match (Maps.lookup name (Graph.graphPrimitives g)) [] (\prim ->-      let def0 = Graph.primitiveDefinition prim-          sig = Packaging.primitiveDefinitionSignature def0-      in (Lists.map (\p -> Typing.parameterIsLazy p) (Typing.termSignatureParameters sig)))---- | Decorator for @lru_cache(1) to memoize zero-argument function results-lruCacheDecorator :: Syntax.NamedExpression-lruCacheDecorator =-    Syntax.NamedExpressionSimple (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "lru_cache"))) [-      pyInt 1])---- | Create a curried lambda chain from a list of parameter names and a body-makeCurriedLambda :: [Syntax.Name] -> Syntax.Expression -> Syntax.Expression-makeCurriedLambda params body =-    Lists.foldl (\acc -> \p -> Syntax.ExpressionLambda (Syntax.Lambda {-      Syntax.lambdaParams = Syntax.LambdaParameters {-        Syntax.lambdaParametersSlashNoDefault = Nothing,-        Syntax.lambdaParametersParamNoDefault = [-          Syntax.LambdaParamNoDefault p],-        Syntax.lambdaParametersParamWithDefault = [],-        Syntax.lambdaParametersStarEtc = Nothing},-      Syntax.lambdaBody = acc})) body (Lists.reverse params)---- | Wrap an expression in Lazy(lambda: ...) for one-shot lazy memoization-makeLazy :: Syntax.Expression -> Syntax.Expression-makeLazy pbody =-    Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Lazy"))) [-      wrapInNullaryLambda pbody]---- | Constructor for PyGraph record-makePyGraph :: Graph.Graph -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PyGraph-makePyGraph g m =-    PythonEnvironment.PyGraph {-      PythonEnvironment.pyGraphGraph = g,-      PythonEnvironment.pyGraphMetadata = m}---- | Wrap a bare reference to a polymorphic function in an uncurried lambda-makeSimpleLambda :: Int -> Syntax.Expression -> Syntax.Expression-makeSimpleLambda arity lhs =--      let args = Lists.map (\i -> Syntax.Name (Strings.concat2 "x" (Literals.printInt32 i))) (Math.range 1 (Math.add arity 1))-      in (Logic.ifElse (Equality.equal arity 0) lhs (Syntax.ExpressionLambda (Syntax.Lambda {-        Syntax.lambdaParams = Syntax.LambdaParameters {-          Syntax.lambdaParametersSlashNoDefault = Nothing,-          Syntax.lambdaParametersParamNoDefault = (Lists.map (\a -> Syntax.LambdaParamNoDefault a) args),-          Syntax.lambdaParametersParamWithDefault = [],-          Syntax.lambdaParametersStarEtc = Nothing},-        Syntax.lambdaBody = (Utils.functionCall (Utils.pyExpressionToPyPrimary lhs) (Lists.map (\a -> Syntax.ExpressionSimple (Syntax.Disjunction [-          Syntax.Conjunction [-            Syntax.InversionSimple (Syntax.Comparison {-              Syntax.comparisonLhs = Syntax.BitwiseOr {-                Syntax.bitwiseOrLhs = Nothing,-                Syntax.bitwiseOrRhs = Syntax.BitwiseXor {-                  Syntax.bitwiseXorLhs = Nothing,-                  Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {-                    Syntax.bitwiseAndLhs = Nothing,-                    Syntax.bitwiseAndRhs = Syntax.ShiftExpression {-                      Syntax.shiftExpressionLhs = Nothing,-                      Syntax.shiftExpressionRhs = Syntax.Sum {-                        Syntax.sumLhs = Nothing,-                        Syntax.sumRhs = Syntax.Term {-                          Syntax.termLhs = Nothing,-                          Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {-                            Syntax.powerLhs = Syntax.AwaitPrimary {-                              Syntax.awaitPrimaryAwait = False,-                              Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName a))},-                            Syntax.powerRhs = Nothing}))}}}}}},-              Syntax.comparisonRhs = []})]])) args))})))---- | Create a thunk (zero-argument lambda) wrapped with lru_cache(1) for memoization-makeThunk :: Syntax.Expression -> Syntax.Expression-makeThunk pbody =-    Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "lru_cache"))) [-      pyInt 1])) [-      wrapInNullaryLambda pbody]---- | Create an uncurried lambda with multiple parameters-makeUncurriedLambda :: [Syntax.Name] -> Syntax.Expression -> Syntax.Expression-makeUncurriedLambda params body =-    Syntax.ExpressionLambda (Syntax.Lambda {-      Syntax.lambdaParams = Syntax.LambdaParameters {-        Syntax.lambdaParametersSlashNoDefault = Nothing,-        Syntax.lambdaParametersParamNoDefault = (Lists.map (\p -> Syntax.LambdaParamNoDefault p) params),-        Syntax.lambdaParametersParamWithDefault = [],-        Syntax.lambdaParametersStarEtc = Nothing},-      Syntax.lambdaBody = body})---- | Generate domain import statements from namespace mappings-moduleDomainImports :: Util.ModuleNames Syntax.DottedName -> [Syntax.ImportStatement]-moduleDomainImports namespaces =--      let names = Lists.sort (Maps.elems (Util.moduleNamesMapping namespaces))-      in (Lists.map (\ns -> Syntax.ImportStatementName (Syntax.ImportName [-        Syntax.DottedAsName {-          Syntax.dottedAsNameName = ns,-          Syntax.dottedAsNameAs = Nothing}])) names)---- | Generate all import statements for a Python module-moduleImports :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata -> [Syntax.Statement]-moduleImports namespaces meta =-    Lists.map (\imp -> Utils.pySimpleStatementToPyStatement (Syntax.SimpleStatementImport imp)) (Lists.concat [-      moduleStandardImports meta,-      (moduleDomainImports namespaces)])---- | Generate standard import statements based on module metadata-moduleStandardImports :: PythonEnvironment.PythonModuleMetadata -> [Syntax.ImportStatement]-moduleStandardImports meta =--      let pairs =-              [-                ("__future__", [-                  condImportSymbol "annotations" PythonNames.useFutureAnnotations]),-                (-                  "collections.abc",-                  [-                    condImportSymbol "Callable" (PythonEnvironment.pythonModuleMetadataUsesCallable meta),-                    (condImportSymbol "Mapping" (PythonEnvironment.pythonModuleMetadataUsesFrozenDict meta)),-                    (condImportSymbol "Sequence" (PythonEnvironment.pythonModuleMetadataUsesFrozenList meta)),-                    (condImportSymbol "Set" (PythonEnvironment.pythonModuleMetadataUsesFrozenSet meta))]),-                (-                  "dataclasses",-                  [-                    condImportSymbol "dataclass" (PythonEnvironment.pythonModuleMetadataUsesDataclass meta),-                    (condImportSymbol "replace" (PythonEnvironment.pythonModuleMetadataUsesDataclass meta))]),-                ("decimal", [-                  condImportSymbol "Decimal" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta)]),-                ("enum", [-                  condImportSymbol "Enum" (PythonEnvironment.pythonModuleMetadataUsesEnum meta)]),-                ("functools", [-                  condImportSymbol "lru_cache" (PythonEnvironment.pythonModuleMetadataUsesLruCache meta)]),-                (-                  "hydra.overlay.python.dsl.python",-                  [-                    condImportSymbol "Either" (PythonEnvironment.pythonModuleMetadataUsesEither meta),-                    (condImportSymbol "Given" (PythonEnvironment.pythonModuleMetadataUsesJust meta)),-                    (condImportSymbol "Left" (PythonEnvironment.pythonModuleMetadataUsesLeft meta)),-                    (condImportSymbol "Node" (PythonEnvironment.pythonModuleMetadataUsesNode meta)),-                    (condImportSymbol "None_" (PythonEnvironment.pythonModuleMetadataUsesNothing meta)),-                    (condImportSymbol "Optional" (PythonEnvironment.pythonModuleMetadataUsesMaybe meta)),-                    (condImportSymbol "Right" (PythonEnvironment.pythonModuleMetadataUsesRight meta))]),-                (-                  "hydra.overlay.python.util",-                  [-                    condImportSymbol "ConsList" (PythonEnvironment.pythonModuleMetadataUsesFrozenList meta),-                    (condImportSymbol "Lazy" True),-                    (condImportSymbol "PersistentMap" (PythonEnvironment.pythonModuleMetadataUsesFrozenDict meta)),-                    (condImportSymbol "PersistentSet" (PythonEnvironment.pythonModuleMetadataUsesFrozenSet meta))]),-                (-                  "hydra.overlay.python.util._decimal",-                  [-                    condImportSymbol "decimal_node_eq" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta),-                    (condImportSymbol "decimal_node_hash" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta))]),-                (-                  "typing",-                  [-                    condImportSymbol "Annotated" (PythonEnvironment.pythonModuleMetadataUsesAnnotated meta),-                    (condImportSymbol "Generic" (PythonEnvironment.pythonModuleMetadataUsesGeneric meta)),-                    (condImportSymbol "TypeAlias" (PythonEnvironment.pythonModuleMetadataUsesTypeAlias meta)),-                    (condImportSymbol "TypeVar" (PythonEnvironment.pythonModuleMetadataUsesTypeVar meta)),-                    (condImportSymbol "cast" (PythonEnvironment.pythonModuleMetadataUsesCast meta))])]-          simplified =-                  Optionals.givens (Lists.map (\p ->-                    let modName = Pairs.first p-                        symbols = Optionals.givens (Pairs.second p)-                    in (Logic.ifElse (Lists.isEmpty symbols) Nothing (Just (modName, symbols)))) pairs)-      in (Lists.map (\p -> standardImportStatement (Pairs.first p) (Pairs.second p)) simplified)---- | Convert a Hydra module to Python source files-moduleToPython :: S.Set String -> Packaging.Module -> [Packaging.Definition] -> Typing.InferenceContext -> Graph.Graph -> Either Errors.Error (M.Map String String)-moduleToPython overlaySubs mod defs cx g =-    Eithers.bind (encodePythonModule overlaySubs cx g mod defs) (\file ->-      let s = Serialization.printExpr (Serialization.parenthesize (Serde.moduleToExpr file))-          path = Names.moduleNameToFilePath Util.CaseConventionLowerSnake (File.FileExtension "py") (Packaging.moduleName mod)-      in (Right (Maps.singleton path s)))---- | Accessor for the graph field of PyGraph-pyGraphGraph :: PythonEnvironment.PyGraph -> Graph.Graph-pyGraphGraph pyg = PythonEnvironment.pyGraphGraph pyg---- | Accessor for the metadata field of PyGraph-pyGraphMetadata :: PythonEnvironment.PyGraph -> PythonEnvironment.PythonModuleMetadata-pyGraphMetadata pyg = PythonEnvironment.pyGraphMetadata pyg---- | Create integer literal expression-pyInt :: Integer -> Syntax.Expression-pyInt n = Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger n))---- | Like bindingMetadata, but only for bindings that will actually be thunked-pythonBindingMetadata :: Graph.Graph -> Core.Binding -> Maybe Core.Term-pythonBindingMetadata g b =-    Logic.ifElse (shouldThunkBinding g b) (Logic.ifElse (Predicates.isComplexBinding g b) (Just (Core.TermLiteral (Core.LiteralBoolean True))) Nothing) Nothing---- | Get the Graph from a PythonEnvironment-pythonEnvironmentGetGraph :: PythonEnvironment.PythonEnvironment -> Graph.Graph-pythonEnvironmentGetGraph env = PythonEnvironment.pythonEnvironmentGraph env---- | Set the Graph in a PythonEnvironment-pythonEnvironmentSetGraph :: Graph.Graph -> PythonEnvironment.PythonEnvironment -> PythonEnvironment.PythonEnvironment-pythonEnvironmentSetGraph tc env =-    PythonEnvironment.PythonEnvironment {-      PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces env),-      PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables env),-      PythonEnvironment.pythonEnvironmentGraph = tc,-      PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings env),-      PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion env),-      PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts env),-      PythonEnvironment.pythonEnvironmentInlineVariables = (PythonEnvironment.pythonEnvironmentInlineVariables env),-      PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs env)}---- | Build a fluent builder (factory + nested Builder dataclass) for a record-recordBuilderClass :: PythonEnvironment.PythonEnvironment -> Core.Name -> [Core.FieldType] -> Maybe Syntax.Args -> Either t0 [Syntax.Statement]-recordBuilderClass env name rowType recordArgs =-    Eithers.bind (Eithers.mapList (\ft -> Eithers.map (\pyType -> Utils.pyAssignmentToPyStatement (Syntax.AssignmentTyped (Syntax.TypedAssignment {-      Syntax.typedAssignmentLhs = (Syntax.SingleTargetName (Syntax.Name (Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Core.fieldTypeName ft)))))),-      Syntax.typedAssignmentType = pyType,-      Syntax.typedAssignmentRhs = (Just (Syntax.AnnotatedRhsStar [-        Syntax.StarExpressionSimple (Utils.pyNameToPyExpression Utils.pyNone)]))}))) (encodeType env (Core.fieldTypeType ft))) rowType) (\builderFields ->-      let setters = Lists.map (\ft -> recordBuilderSetter env ft) rowType-          pyName = PythonNames.encodeName False Util.CaseConventionPascal env name-          buildKwargs =-                  Lists.map (\ft -> Syntax.KwargOrStarredKwarg (Syntax.Kwarg {-                    Syntax.kwargName = (Syntax.Name (Syntax.unName (PythonNames.encodeFieldName env (Core.fieldTypeName ft)))),-                    Syntax.kwargValue = (Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "self")) (Syntax.Name (Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Core.fieldTypeName ft))))))})) rowType-          ctorCall =-                  Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary pyName) (Syntax.PrimaryRhsCall (Syntax.Args {-                    Syntax.argsPositional = [],-                    Syntax.argsKwargOrStarred = buildKwargs,-                    Syntax.argsKwargOrDoubleStarred = []})))-          buildMethod =-                  Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {-                    Syntax.functionDefinitionDecorators = Nothing,-                    Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {-                      Syntax.functionDefRawAsync = False,-                      Syntax.functionDefRawName = (Syntax.Name "build"),-                      Syntax.functionDefRawTypeParams = [],-                      Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {-                        Syntax.paramNoDefaultParametersParamNoDefault = [-                          Syntax.ParamNoDefault {-                            Syntax.paramNoDefaultParam = Syntax.Param {-                              Syntax.paramName = (Syntax.Name "self"),-                              Syntax.paramAnnotation = Nothing},-                            Syntax.paramNoDefaultTypeComment = Nothing}],-                        Syntax.paramNoDefaultParametersParamWithDefault = [],-                        Syntax.paramNoDefaultParametersStarEtc = Nothing}))),-                      Syntax.functionDefRawReturnType = Nothing,-                      Syntax.functionDefRawFuncTypeComment = Nothing,-                      Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [-                        [-                          Utils.returnSingle ctorCall]])}}))-          builderBody =-                  Utils.indentedBlock Nothing [-                    Lists.concat [-                      builderFields,-                      setters,-                      [-                        buildMethod]]]-          builderDecs = Just (Syntax.Decorators [-                dataclassDecorator])-          builderClass =-                  Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {-                    Syntax.classDefinitionDecorators = builderDecs,-                    Syntax.classDefinitionName = (Syntax.Name "Builder"),-                    Syntax.classDefinitionTypeParams = [],-                    Syntax.classDefinitionArguments = recordArgs,-                    Syntax.classDefinitionBody = builderBody})-          qualifiedBuilderName = Syntax.Name (Strings.concat2 (Syntax.unName pyName) ".Builder")-          builderCall = Utils.functionCall (Utils.pyNameToPyPrimary qualifiedBuilderName) []-          factoryMethod =-                  Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {-                    Syntax.functionDefinitionDecorators = (Just (Syntax.Decorators [-                      Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "staticmethod"))])),-                    Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {-                      Syntax.functionDefRawAsync = False,-                      Syntax.functionDefRawName = (Syntax.Name "builder"),-                      Syntax.functionDefRawTypeParams = [],-                      Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {-                        Syntax.paramNoDefaultParametersParamNoDefault = [],-                        Syntax.paramNoDefaultParametersParamWithDefault = [],-                        Syntax.paramNoDefaultParametersStarEtc = Nothing}))),-                      Syntax.functionDefRawReturnType = Nothing,-                      Syntax.functionDefRawFuncTypeComment = Nothing,-                      Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [-                        [-                          Utils.returnSingle builderCall]])}}))-      in (Right [-        factoryMethod,-        builderClass]))---- | Build a fluent setter for the nested Builder of a record-recordBuilderSetter :: PythonEnvironment.PythonEnvironment -> Core.FieldType -> Syntax.Statement-recordBuilderSetter env fieldType =--      let fname = Core.fieldTypeName fieldType-          setterName = builderSetterName env fname-          paramName = Syntax.Name setterName-          storageName = Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Core.fieldTypeName fieldType)))-          kwarg =-                  Syntax.KwargOrStarredKwarg (Syntax.Kwarg {-                    Syntax.kwargName = (Syntax.Name storageName),-                    Syntax.kwargValue = (Utils.pyNameToPyExpression paramName)})-      in (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {-        Syntax.functionDefinitionDecorators = Nothing,-        Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {-          Syntax.functionDefRawAsync = False,-          Syntax.functionDefRawName = (Syntax.Name setterName),-          Syntax.functionDefRawTypeParams = [],-          Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {-            Syntax.paramNoDefaultParametersParamNoDefault = [-              Syntax.ParamNoDefault {-                Syntax.paramNoDefaultParam = Syntax.Param {-                  Syntax.paramName = (Syntax.Name "self"),-                  Syntax.paramAnnotation = Nothing},-                Syntax.paramNoDefaultTypeComment = Nothing},-              Syntax.ParamNoDefault {-                Syntax.paramNoDefaultParam = Syntax.Param {-                  Syntax.paramName = paramName,-                  Syntax.paramAnnotation = Nothing},-                Syntax.paramNoDefaultTypeComment = Nothing}],-            Syntax.paramNoDefaultParametersParamWithDefault = [],-            Syntax.paramNoDefaultParametersStarEtc = Nothing}))),-          Syntax.functionDefRawReturnType = Nothing,-          Syntax.functionDefRawFuncTypeComment = Nothing,-          Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [-            [-              Utils.returnSingle (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary (Syntax.Name "replace")) (Syntax.PrimaryRhsCall (Syntax.Args {-                Syntax.argsPositional = [-                  Syntax.PosArgExpression (Utils.pyNameToPyExpression (Syntax.Name "self"))],-                Syntax.argsKwargOrStarred = [-                  kwarg],-                Syntax.argsKwargOrDoubleStarred = []}))))]])}})))---- | Build a per-field copy-update method (with_<field>) for a record-recordWithMethod :: PythonEnvironment.PythonEnvironment -> Core.FieldType -> Syntax.Statement-recordWithMethod env fieldType =--      let fname = Core.fieldTypeName fieldType-          snake = Syntax.unName (PythonNames.encodeFieldName env fname)-          methodName = Strings.concat2 "with_" snake-          kwargKey = Syntax.Name snake-          paramSnake = Logic.ifElse (Equality.equal snake "self") "_self" snake-          paramName = Syntax.Name paramSnake-          kwarg =-                  Syntax.KwargOrStarredKwarg (Syntax.Kwarg {-                    Syntax.kwargName = kwargKey,-                    Syntax.kwargValue = (Utils.pyNameToPyExpression paramName)})-      in (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {-        Syntax.functionDefinitionDecorators = Nothing,-        Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {-          Syntax.functionDefRawAsync = False,-          Syntax.functionDefRawName = (Syntax.Name methodName),-          Syntax.functionDefRawTypeParams = [],-          Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {-            Syntax.paramNoDefaultParametersParamNoDefault = [-              Syntax.ParamNoDefault {-                Syntax.paramNoDefaultParam = Syntax.Param {-                  Syntax.paramName = (Syntax.Name "self"),-                  Syntax.paramAnnotation = Nothing},-                Syntax.paramNoDefaultTypeComment = Nothing},-              Syntax.ParamNoDefault {-                Syntax.paramNoDefaultParam = Syntax.Param {-                  Syntax.paramName = paramName,-                  Syntax.paramAnnotation = Nothing},-                Syntax.paramNoDefaultTypeComment = Nothing}],-            Syntax.paramNoDefaultParametersParamWithDefault = [],-            Syntax.paramNoDefaultParametersStarEtc = Nothing}))),-          Syntax.functionDefRawReturnType = Nothing,-          Syntax.functionDefRawFuncTypeComment = Nothing,-          Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [-            [-              Utils.returnSingle (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary (Syntax.Name "replace")) (Syntax.PrimaryRhsCall (Syntax.Args {-                Syntax.argsPositional = [-                  Syntax.PosArgExpression (Utils.pyNameToPyExpression (Syntax.Name "self"))],-                Syntax.argsKwargOrStarred = [-                  kwarg],-                Syntax.argsKwargOrDoubleStarred = []}))))]])}})))--setMetaNamespaces :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-setMetaNamespaces ns m =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = ns,-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaTypeVariables :: PythonEnvironment.PythonModuleMetadata -> S.Set Core.Name -> PythonEnvironment.PythonModuleMetadata-setMetaTypeVariables m tvars =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = tvars,-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesAnnotated :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesAnnotated m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = b,-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesCallable :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesCallable m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = b,-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesCast :: Bool -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-setMetaUsesCast b m =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = b,-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesDataclass :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesDataclass m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = b,-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesDecimal :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesDecimal m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = b,-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesEither :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesEither m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = b,-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesEnum :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesEnum m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = b,-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesFrozenDict :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesFrozenDict m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = b,-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesFrozenList :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesFrozenList m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = b,-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesFrozenSet :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesFrozenSet m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = b,-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesGeneric :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesGeneric m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = b,-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesJust :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesJust m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = b,-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesLeft :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesLeft m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = b,-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesLruCache :: Bool -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata-setMetaUsesLruCache b m =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = b,-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesMaybe :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesMaybe m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = b,-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesName :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesName m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = b,-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesNode :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesNode m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = b,-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesNothing :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesNothing m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = b,-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesRight :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesRight m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = b,-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesTypeAlias :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesTypeAlias m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = b,-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}--setMetaUsesTypeVar :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata-setMetaUsesTypeVar m b =-    PythonEnvironment.PythonModuleMetadata {-      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),-      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),-      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),-      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),-      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),-      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),-      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),-      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),-      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),-      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),-      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),-      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),-      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),-      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),-      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),-      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),-      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),-      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),-      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),-      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),-      PythonEnvironment.pythonModuleMetadataUsesTypeVar = b}---- | Determine if a binding should be thunked based on its complexity and triviality-shouldThunkBinding :: Graph.Graph -> Core.Binding -> Bool-shouldThunkBinding g b = Logic.and (Predicates.isComplexBinding g b) (Logic.not (Predicates.isTrivialTerm (Core.bindingTerm b)))---- | Generate a single from-import statement-standardImportStatement :: String -> [String] -> Syntax.ImportStatement-standardImportStatement modName symbols =-    Syntax.ImportStatementFrom (Syntax.ImportFrom {-      Syntax.importFromPrefixes = [],-      Syntax.importFromDottedName = (Just (Syntax.DottedName [-        Syntax.Name modName])),-      Syntax.importFromTargets = (Syntax.ImportFromTargetsSimple (Lists.map (\s -> Syntax.ImportFromAsName {-        Syntax.importFromAsNameName = (Syntax.Name s),-        Syntax.importFromAsNameAs = Nothing}) symbols))})---- | The target Python version for code generation-targetPythonVersion :: PythonEnvironment.PythonVersion-targetPythonVersion = Utils.targetPythonVersion---- | Calculate term arity with proper primitive handling-termArityWithPrimitives :: Graph.Graph -> Core.Term -> Int-termArityWithPrimitives graph term =-    case (Strip.deannotateAndDetypeTerm term) of-      Core.TermApplication v0 -> Ordering.max 0 (Math.sub (termArityWithPrimitives graph (Core.applicationFunction v0)) 1)-      Core.TermLambda v0 -> Math.add 1 (termArityWithPrimitives graph (Core.lambdaBody v0))-      Core.TermProject _ -> 1-      Core.TermUnwrap _ -> 1-      Core.TermCases _ -> 1-      Core.TermVariable v0 -> Optionals.match (Lexical.lookupBinding graph v0) 0 (\el -> Optionals.match (Core.bindingTypeScheme el) (Arity.termArity (Core.bindingTerm el)) (\ts -> Arity.typeSchemeArity ts))-      _ -> 0---- | Create a TypeVar assignment statement for a type variable name-tvarStatement :: Syntax.Name -> Syntax.Statement-tvarStatement name =-    Utils.assignmentStatement name (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "TypeVar"))) [-      Utils.doubleQuotedString (Syntax.unName name)])---- | Version-aware type alias statement generation-typeAliasStatementFor :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> [Syntax.TypeParameter] -> Maybe String -> Syntax.Expression -> Syntax.Statement-typeAliasStatementFor env name tparams mcomment tyexpr =-    Logic.ifElse (useInlineTypeParamsFor (PythonEnvironment.pythonEnvironmentVersion env)) (Utils.typeAliasStatement name tparams mcomment tyexpr) (Utils.typeAliasStatement310 name tparams mcomment tyexpr)---- | Version-aware union type statement generation-unionTypeStatementsFor :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> [Syntax.TypeParameter] -> Maybe String -> Syntax.Expression -> [Syntax.Statement] -> [Syntax.Statement]-unionTypeStatementsFor env name tparams mcomment tyexpr extraStmts =-    Logic.ifElse (useInlineTypeParamsFor (PythonEnvironment.pythonEnvironmentVersion env)) (Lists.concat2 [-      Utils.typeAliasStatement name tparams mcomment tyexpr] extraStmts) (Utils.unionTypeClassStatements310 name mcomment tyexpr extraStmts)---- | Create an expression that calls hydra.overlay.python.dsl.python.unsupported(message) at runtime-unsupportedExpression :: String -> Syntax.Expression-unsupportedExpression msg =-    Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [-      Syntax.Conjunction [-        Syntax.InversionSimple (Syntax.Comparison {-          Syntax.comparisonLhs = Syntax.BitwiseOr {-            Syntax.bitwiseOrLhs = Nothing,-            Syntax.bitwiseOrRhs = Syntax.BitwiseXor {-              Syntax.bitwiseXorLhs = Nothing,-              Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {-                Syntax.bitwiseAndLhs = Nothing,-                Syntax.bitwiseAndRhs = Syntax.ShiftExpression {-                  Syntax.shiftExpressionLhs = Nothing,-                  Syntax.shiftExpressionRhs = Syntax.Sum {-                    Syntax.sumLhs = Nothing,-                    Syntax.sumRhs = Syntax.Term {-                      Syntax.termLhs = Nothing,-                      Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {-                        Syntax.powerLhs = Syntax.AwaitPrimary {-                          Syntax.awaitPrimaryAwait = False,-                          Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "hydra")))},-                        Syntax.powerRhs = Nothing}))}}}}}},-          Syntax.comparisonRhs = []})]])) (Syntax.Name "overlay")) (Syntax.Name "python")) (Syntax.Name "dsl")) (Syntax.Name "python")) (Syntax.Name "unsupported"))) [-      Utils.stringToPyExpression Syntax.QuoteStyleDouble msg]---- | Legacy constant for backward compatibility; use useInlineTypeParamsFor in new code-useInlineTypeParams :: Bool-useInlineTypeParams = useInlineTypeParamsFor Utils.targetPythonVersion---- | Version-aware inline type parameters-useInlineTypeParamsFor :: PythonEnvironment.PythonVersion -> Bool-useInlineTypeParamsFor version = Equality.equal version PythonEnvironment.PythonVersionPython312---- | Create args for variant (Node[type], Generic[tparams])-variantArgs :: Syntax.Expression -> [Core.Name] -> Syntax.Args-variantArgs ptype tparams =-    Utils.pyExpressionsToPyArgs (Optionals.givens [-      Just (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Node"))) [-        ptype])),-      (genericArg tparams)])---- | Create a ClosedPattern for a variant based on its characteristics-variantClosedPattern :: PythonEnvironment.PythonEnvironment -> Core.Name -> Core.Name -> Syntax.Name -> t0 -> Bool -> Core.Name -> Bool -> Syntax.ClosedPattern-variantClosedPattern env typeName fieldName pyVariantName rowType isEnum varName shouldCapture =-    Logic.ifElse isEnum (enumVariantPattern env typeName fieldName) (Logic.ifElse (Logic.not shouldCapture) (classVariantPatternUnit pyVariantName) (classVariantPatternWithCapture env pyVariantName varName))---- | Create a wildcard case block with a given body statement-wildcardCaseBlock :: Syntax.Statement -> Syntax.CaseBlock-wildcardCaseBlock stmt =-    Syntax.CaseBlock {-      Syntax.caseBlockPatterns = (Utils.pyClosedPatternToPyPatterns Syntax.ClosedPatternWildcard),-      Syntax.caseBlockGuard = Nothing,-      Syntax.caseBlockBody = (Utils.indentedBlock Nothing [-        [-          stmt]])}---- | Execute a computation with definitions in scope-withDefinitions :: PythonEnvironment.PythonEnvironment -> [Packaging.Definition] -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withDefinitions env defs body =--      let bindings =-              Optionals.givens (Lists.map (\def_ -> case def_ of-                Packaging.DefinitionTerm v0 -> Just (Core.Binding {-                  Core.bindingName = (Packaging.termDefinitionName v0),-                  Core.bindingTerm = (Packaging.termDefinitionBody v0),-                  Core.bindingTypeScheme = (Optionals.map (\sig -> Scoping.termSignatureToTypeScheme sig) (Packaging.termDefinitionSignature v0))})-                Packaging.DefinitionType _ -> Nothing-                _ -> Nothing) defs)-          dummyLet =-                  Core.Let {-                    Core.letBindings = bindings,-                    Core.letBody = (Core.TermLiteral (Core.LiteralString "dummy"))}-      in (withLet env dummyLet body)---- | Execute a computation with lambda context (adds lambda parameter to Graph)-withLambda :: PythonEnvironment.PythonEnvironment -> Core.Lambda -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withLambda = Environment.withLambdaContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph---- | Execute a computation with let context (adds let bindings to Graph)-withLet :: PythonEnvironment.PythonEnvironment -> Core.Let -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withLet = Environment.withLetContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph pythonBindingMetadata---- | Execute a computation with inline let context (for walrus operators)-withLetInline :: PythonEnvironment.PythonEnvironment -> Core.Let -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withLetInline env lt body =--      let bindingNames = Lists.map (\b -> Core.bindingName b) (Core.letBindings lt)-          inlineVars = Sets.fromList bindingNames-          noMetadata = \tc -> \b -> Nothing-      in (Environment.withLetContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph noMetadata env lt (\innerEnv ->-        let updatedEnv =-                PythonEnvironment.PythonEnvironment {-                  PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces innerEnv),-                  PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables innerEnv),-                  PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph innerEnv),-                  PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings innerEnv),-                  PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion innerEnv),-                  PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts innerEnv),-                  PythonEnvironment.pythonEnvironmentInlineVariables = (Sets.union inlineVars (PythonEnvironment.pythonEnvironmentInlineVariables innerEnv)),-                  PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs innerEnv)}-        in (body updatedEnv)))---- | Execute a computation with type lambda context-withTypeLambda :: PythonEnvironment.PythonEnvironment -> Core.TypeLambda -> (PythonEnvironment.PythonEnvironment -> t0) -> t0-withTypeLambda = Environment.withTypeLambdaContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph---- | Wrap a Python expression in a nullary lambda (thunk) for lazy evaluation-wrapInNullaryLambda :: Syntax.Expression -> Syntax.Expression-wrapInNullaryLambda expr =-    Syntax.ExpressionLambda (Syntax.Lambda {-      Syntax.lambdaParams = Syntax.LambdaParameters {-        Syntax.lambdaParametersSlashNoDefault = Nothing,-        Syntax.lambdaParametersParamNoDefault = [],-        Syntax.lambdaParametersParamWithDefault = [],-        Syntax.lambdaParametersStarEtc = Nothing},-      Syntax.lambdaBody = expr})---- | Wrap lazy-flagged arguments of a primitive call in nullary lambdas, per isLazy metadata (issue #391)-wrapLazyArguments :: Graph.Graph -> Core.Name -> [Syntax.Expression] -> [Syntax.Expression]+import qualified Hydra.Core.Analysis as Analysis+import qualified Hydra.Core.Annotations as Annotations+import qualified Hydra.Core.Arity as Arity+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Checking as Checking+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Dependencies as Dependencies+import qualified Hydra.Core.Environment as CoreEnvironment+import qualified Hydra.Core.Error.Checking as ErrorChecking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.File as File+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Inference as Inference+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Lexical as Lexical+import qualified Hydra.Core.Overlay.Haskell.Lib.Eithers as Eithers+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Literals as Literals+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Maps as Maps+import qualified Hydra.Core.Overlay.Haskell.Lib.Math as Math+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Ordering as Ordering+import qualified Hydra.Core.Overlay.Haskell.Lib.Pairs as Pairs+import qualified Hydra.Core.Overlay.Haskell.Lib.Sets as Sets+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as CoreNames+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Parsing as Parsing+import qualified Hydra.Core.Paths as Paths+import qualified Hydra.Core.Predicates as Predicates+import qualified Hydra.Core.Print.Model as PrintModel+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Reduction as Reduction+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Resolution as Resolution+import qualified Hydra.Core.Rewriting as Rewriting+import qualified Hydra.Core.Scoping as Scoping+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Sorting as Sorting+import qualified Hydra.Core.Strip as Strip+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Topology as Topology+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Core.Validation as Validation+import qualified Hydra.Core.Variables as Variables+import qualified Hydra.Core.Variants as Variants+import qualified Hydra.Python.Environment as PythonEnvironment+import qualified Hydra.Python.Names as PythonNames+import qualified Hydra.Python.Serde as Serde+import qualified Hydra.Python.Syntax as Syntax+import qualified Hydra.Python.Utils as Utils+import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void+import qualified Data.Map as M+import qualified Data.Set as S++-- | Analyze a function term with Python-specific Graph management+analyzePythonFunction :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Term -> Either t0 (Typing.FunctionStructure PythonEnvironment.PythonEnvironment)+analyzePythonFunction cx env term =+    Analysis.analyzeFunctionTermWith cx pythonBindingMetadata pythonEnvironmentGetGraph pythonEnvironmentSetGraph env term++-- | Escape a builder setter name that would collide with build()/builder()/self+builderSetterName :: PythonEnvironment.PythonEnvironment -> Model.Name -> String+builderSetterName env fname =++      let base = Syntax.unName (PythonNames.encodeFieldName env fname)+      in (Logic.ifElse (Logic.or (Equality.equal base "build") (Logic.or (Equality.equal base "builder") (Equality.equal base "self"))) (Strings.concat2 base "_") base)++-- | Encode a single case (Field) into a CaseBlock for a match statement+caseBlockToExpr :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> Bool -> (PythonEnvironment.PythonEnvironment -> Model.Term -> Either t1 [Syntax.Statement]) -> Model.CaseAlternative -> Either t1 Syntax.CaseBlock+caseBlockToExpr cx env tname rowType isEnum encodeBody field =++      let fname = Model.caseAlternativeName field+          fterm = Model.caseAlternativeHandler field+          stripped = Strip.deannotateAndDetypeTerm fterm+          effectiveLambda =+                  case stripped of+                    Model.TermLambda v0 -> v0+                    _ ->+                      let syntheticVar = Model.Name "_matchValue"+                      in Model.Lambda {+                        Model.lambdaParameter = syntheticVar,+                        Model.lambdaDomain = Nothing,+                        Model.lambdaBody = (Model.TermApplication (Model.Application {+                          Model.applicationFunction = stripped,+                          Model.applicationArgument = (Model.TermVariable syntheticVar)}))}+          v = Model.lambdaParameter effectiveLambda+          rawBody = Model.lambdaBody effectiveLambda+          isUnitVariant = isVariantUnitType rowType fname+          effectiveBody = Logic.ifElse isUnitVariant (eliminateUnitVar v rawBody) rawBody+          shouldCapture =+                  Logic.not (Logic.or isUnitVariant (Logic.or (Variables.isFreeVariableInTerm v rawBody) (Predicates.isUnitTerm rawBody)))+          env2 = pythonEnvironmentSetGraph (Scoping.extendGraphForLambda (pythonEnvironmentGetGraph env) effectiveLambda) env+          pyVariantName = deconflictVariantName True env2 tname fname (PythonEnvironment.pythonEnvironmentGraph env2)+          pattern = variantClosedPattern env2 tname fname pyVariantName rowType isEnum v shouldCapture+      in (Eithers.bind (encodeBody env2 effectiveBody) (\stmts ->+        let pyBody = Utils.indentedBlock Nothing [+              stmts]+        in (Right (Syntax.CaseBlock {+          Syntax.caseBlockPatterns = (Utils.pyClosedPatternToPyPatterns pattern),+          Syntax.caseBlockGuard = Nothing,+          Syntax.caseBlockBody = pyBody}))))++-- | Create a class pattern for a unit variant (no value captured)+classVariantPatternUnit :: Syntax.Name -> Syntax.ClosedPattern+classVariantPatternUnit pyVariantName =+    Syntax.ClosedPatternClass (Syntax.ClassPattern {+      Syntax.classPatternNameOrAttribute = (Syntax.NameOrAttribute [+        pyVariantName]),+      Syntax.classPatternPositionalPatterns = Nothing,+      Syntax.classPatternKeywordPatterns = Nothing})++-- | Create a class pattern for a variant with captured value+classVariantPatternWithCapture :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> Model.Name -> Syntax.ClosedPattern+classVariantPatternWithCapture env pyVariantName varName =++      let pyVarNameAttr = Syntax.NameOrAttribute [+            pyVariantName]+          capturePattern =+                  Syntax.ClosedPatternCapture (Syntax.CapturePattern (Syntax.PatternCaptureTarget (PythonNames.encodeName False Util.CaseConventionLowerSnake env varName)))+          keywordPattern =+                  Syntax.KeywordPattern {+                    Syntax.keywordPatternName = (Syntax.Name "value"),+                    Syntax.keywordPatternPattern = (Syntax.PatternOr (Syntax.OrPattern [+                      capturePattern]))}+      in (Syntax.ClosedPatternClass (Syntax.ClassPattern {+        Syntax.classPatternNameOrAttribute = pyVarNameAttr,+        Syntax.classPatternPositionalPatterns = Nothing,+        Syntax.classPatternKeywordPatterns = (Just (Syntax.KeywordPatterns [+          keywordPattern]))}))++-- | Collect type variables from a type+collectTypeVariables :: S.Set Model.Name -> Model.Type -> S.Set Model.Name+collectTypeVariables initial typ =+    case (Strip.deannotateType typ) of+      Model.TypeForall v0 ->+        let v = Model.forallTypeParameter v0+            body = Model.forallTypeBody v0+        in (collectTypeVariables (Sets.insert v initial) body)+      _ ->+        let freeVars = Variables.freeVariablesInType typ+            isTypeVar = \n -> isTypeVariableName n+            filteredList = Lists.filter isTypeVar (Sets.toList freeVars)+        in (Sets.union initial (Sets.fromList filteredList))++-- | Conditionally include a symbol name based on a boolean flag+condImportSymbol :: t0 -> Bool -> Maybe t0+condImportSymbol name flag = Logic.ifElse flag (Just name) Nothing++-- | Create a @dataclass(frozen=True) decorator+dataclassDecorator :: Syntax.NamedExpression+dataclassDecorator =+    Syntax.NamedExpressionSimple (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "dataclass"))) (Syntax.PrimaryRhsCall (Syntax.Args {+      Syntax.argsPositional = [],+      Syntax.argsKwargOrStarred = [+        Syntax.KwargOrStarredKwarg (Syntax.Kwarg {+          Syntax.kwargName = (Syntax.Name "frozen"),+          Syntax.kwargValue = (Utils.pyAtomToPyExpression Syntax.AtomTrue)})],+      Syntax.argsKwargOrDoubleStarred = []}))))++-- | Deconflict a variant name to avoid collisions with type names+deconflictVariantName :: Bool -> PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Name -> Graph.Graph -> Syntax.Name+deconflictVariantName isQualified env unionName fname g =++      let candidateHydraName = Model.Name (Strings.concat2 (Model.unName unionName) (Formatting.capitalize (Model.unName fname)))+          termCollision = Maps.member candidateHydraName (Graph.graphBoundTerms g)+          typeCollision = Maps.member candidateHydraName (Graph.graphSchemaTypes g)+          collision = Logic.or termCollision typeCollision+      in (Logic.ifElse collision (Syntax.Name (Strings.concat2 (Syntax.unName (PythonNames.variantName isQualified env unionName fname)) "_")) (PythonNames.variantName isQualified env unionName fname))++-- | Rewrite case statements to avoid variable name collisions+deduplicateCaseVariables :: [Model.CaseAlternative] -> [Model.CaseAlternative]+deduplicateCaseVariables cases_ =++      let rewriteCase =+              \state -> \field ->+                let countByName = Pairs.first state+                    done = Pairs.second state+                    fname = Model.caseAlternativeName field+                    fterm = Model.caseAlternativeHandler field+                in case (Strip.deannotateAndDetypeTerm fterm) of+                  Model.TermLambda v0 ->+                    let v = Model.lambdaParameter v0+                        mdom = Model.lambdaDomain v0+                        body = Model.lambdaBody v0+                    in (Optionals.match (Maps.lookup v countByName) (Maps.insert v 1 countByName, (Lists.cons field done)) (\count ->+                      let count2 = Math.add count 1+                          v2 = Model.Name (Strings.concat2 (Model.unName v) (Literals.printInt32 count2))+                          newBody = Reduction.alphaConvert v v2 body+                          newLam =+                                  Model.Lambda {+                                    Model.lambdaParameter = v2,+                                    Model.lambdaDomain = mdom,+                                    Model.lambdaBody = newBody}+                          newTerm = Model.TermLambda newLam+                          newField =+                                  Model.CaseAlternative {+                                    Model.caseAlternativeName = fname,+                                    Model.caseAlternativeHandler = newTerm}+                      in (Maps.insert v count2 countByName, (Lists.cons newField done))))+                  _ -> (countByName, (Lists.cons field done))+          result = Lists.foldl rewriteCase (Maps.empty, []) cases_+      in (Lists.reverse (Pairs.second result))++-- | Recursively dig through forall types to find wrap types+digForWrap :: Bool -> PythonEnvironment.PythonModuleMetadata -> Model.Type -> PythonEnvironment.PythonModuleMetadata+digForWrap isTermAnnot meta typ =+    case (Strip.deannotateType typ) of+      Model.TypeForall v0 -> digForWrap isTermAnnot meta (Model.forallTypeBody v0)+      Model.TypeWrap _ -> Logic.ifElse isTermAnnot meta (setMetaUsesNode meta True)+      _ -> meta++-- | Substitute unit for a variable in a term (for unit variant case handling)+eliminateUnitVar :: Model.Name -> Model.Term -> Model.Term+eliminateUnitVar v term0 =++      let rewriteField =+              \rewrite -> \fld -> Model.Field {+                Model.fieldName = (Model.fieldName fld),+                Model.fieldTerm = (rewrite (Model.fieldTerm fld))}+          rewriteCaseAlternative =+                  \rewrite -> \alt -> Model.CaseAlternative {+                    Model.caseAlternativeName = (Model.caseAlternativeName alt),+                    Model.caseAlternativeHandler = (rewrite (Model.caseAlternativeHandler alt))}+          rewriteBinding =+                  \rewrite -> \bnd -> Model.Binding {+                    Model.bindingName = (Model.bindingName bnd),+                    Model.bindingTerm = (rewrite (Model.bindingTerm bnd)),+                    Model.bindingTypeScheme = (Model.bindingTypeScheme bnd)}+          rewrite =+                  \recurse -> \term -> case (Strip.deannotateAndDetypeTerm term) of+                    Model.TermVariable v0 -> Logic.ifElse (Equality.equal v0 v) Model.TermUnit term+                    Model.TermAnnotated v0 -> Model.TermAnnotated (Model.AnnotatedTerm {+                      Model.annotatedTermBody = (recurse (Model.annotatedTermBody v0)),+                      Model.annotatedTermAnnotation = (Model.annotatedTermAnnotation v0)})+                    Model.TermApplication v0 -> Model.TermApplication (Model.Application {+                      Model.applicationFunction = (recurse (Model.applicationFunction v0)),+                      Model.applicationArgument = (recurse (Model.applicationArgument v0))})+                    Model.TermLambda v0 -> Logic.ifElse (Equality.equal (Model.lambdaParameter v0) v) term (Model.TermLambda (Model.Lambda {+                      Model.lambdaParameter = (Model.lambdaParameter v0),+                      Model.lambdaDomain = (Model.lambdaDomain v0),+                      Model.lambdaBody = (recurse (Model.lambdaBody v0))}))+                    Model.TermCases v0 -> Model.TermCases (Model.CaseStatement {+                      Model.caseStatementTypeName = (Model.caseStatementTypeName v0),+                      Model.caseStatementDefault = (Optionals.map recurse (Model.caseStatementDefault v0)),+                      Model.caseStatementCases = (Lists.map (rewriteCaseAlternative recurse) (Model.caseStatementCases v0))})+                    Model.TermLet v0 -> Model.TermLet (Model.Let {+                      Model.letBindings = (Lists.map (rewriteBinding recurse) (Model.letBindings v0)),+                      Model.letBody = (recurse (Model.letBody v0))})+                    Model.TermList v0 -> Model.TermList (Lists.map recurse v0)+                    Model.TermMap v0 -> Model.TermMap (Maps.fromList (Lists.map (\kv -> (recurse (Pairs.first kv), (recurse (Pairs.second kv)))) (Maps.toList v0)))+                    Model.TermRecord v0 -> Model.TermRecord (Model.Record {+                      Model.recordTypeName = (Model.recordTypeName v0),+                      Model.recordFields = (Lists.map (rewriteField recurse) (Model.recordFields v0))})+                    Model.TermSet v0 -> Model.TermSet (Sets.map recurse v0)+                    Model.TermInject v0 -> Model.TermInject (Model.Injection {+                      Model.injectionTypeName = (Model.injectionTypeName v0),+                      Model.injectionField = (rewriteField recurse (Model.injectionField v0))})+                    Model.TermOptional v0 -> Model.TermOptional (Optionals.map recurse v0)+                    Model.TermPair v0 -> Model.TermPair (recurse (Pairs.first v0), (recurse (Pairs.second v0)))+                    Model.TermWrap v0 -> Model.TermWrap (Model.WrappedTerm {+                      Model.wrappedTermTypeName = (Model.wrappedTermTypeName v0),+                      Model.wrappedTermBody = (recurse (Model.wrappedTermBody v0))})+                    Model.TermEither v0 -> Model.TermEither (Eithers.bimap recurse recurse v0)+                    Model.TermTypeApplication v0 -> Model.TermTypeApplication (Model.TypeApplicationTerm {+                      Model.typeApplicationTermBody = (recurse (Model.typeApplicationTermBody v0)),+                      Model.typeApplicationTermType = (Model.typeApplicationTermType v0)})+                    Model.TermTypeLambda v0 -> Model.TermTypeLambda (Model.TypeLambda {+                      Model.typeLambdaParameter = (Model.typeLambdaParameter v0),+                      Model.typeLambdaBody = (recurse (Model.typeLambdaBody v0))})+                    _ -> term+          go = \term -> rewrite go term+      in (go term0)++-- | Create an initial empty metadata record with given namespaces+emptyMetadata :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata+emptyMetadata ns =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = ns,+      PythonEnvironment.pythonModuleMetadataTypeVariables = Sets.empty,+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = False,+      PythonEnvironment.pythonModuleMetadataUsesCallable = False,+      PythonEnvironment.pythonModuleMetadataUsesCast = False,+      PythonEnvironment.pythonModuleMetadataUsesLruCache = False,+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = False,+      PythonEnvironment.pythonModuleMetadataUsesDataclass = False,+      PythonEnvironment.pythonModuleMetadataUsesDecimal = False,+      PythonEnvironment.pythonModuleMetadataUsesEither = False,+      PythonEnvironment.pythonModuleMetadataUsesEnum = False,+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = False,+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = False,+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = False,+      PythonEnvironment.pythonModuleMetadataUsesGeneric = False,+      PythonEnvironment.pythonModuleMetadataUsesJust = False,+      PythonEnvironment.pythonModuleMetadataUsesLeft = False,+      PythonEnvironment.pythonModuleMetadataUsesMaybe = False,+      PythonEnvironment.pythonModuleMetadataUsesName = False,+      PythonEnvironment.pythonModuleMetadataUsesNode = False,+      PythonEnvironment.pythonModuleMetadataUsesNothing = False,+      PythonEnvironment.pythonModuleMetadataUsesRight = False,+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = False}++-- | Encode a function application to a Python expression+encodeApplication :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Application -> Either Errors.Error Syntax.Expression+encodeApplication cx env app =++      let g = pythonEnvironmentGetGraph env+          term = Model.TermApplication app+          gathered = Analysis.gatherArgs term []+          fun = Pairs.first gathered+          args = Pairs.second gathered+          knownArity = termArityWithPrimitives g fun+          arity = Ordering.max knownArity (Lists.length args)+      in (Eithers.bind (Eithers.mapList (\t -> encodeTermInline cx env False t) args) (\pargs ->+        let hargs = Lists.take arity pargs+            rargs = Lists.drop arity pargs+        in (Eithers.bind (encodeApplicationInner cx env fun hargs rargs) (\result ->+          let lhs = Pairs.first result+              remainingRargs = Pairs.second result+              pyapp = Lists.foldl (\t -> \a -> Utils.functionCall (Utils.pyExpressionToPyPrimary t) [+                    a]) lhs remainingRargs+          in (Right pyapp)))))++-- | Inner helper for encodeApplication+encodeApplicationInner :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Term -> [Syntax.Expression] -> [Syntax.Expression] -> Either Errors.Error (Syntax.Expression, [Syntax.Expression])+encodeApplicationInner cx env fun hargs rargs =++      let firstArg = Optionals.withDefault (Utils.pyNameToPyExpression (Syntax.Name "")) (Lists.head hargs)+          restArgs = Lists.drop 1 hargs+          withRest = \e -> Logic.ifElse (Lists.isEmpty restArgs) e (Utils.functionCall (Utils.pyExpressionToPyPrimary e) restArgs)+          defaultCase =+                  Eithers.bind (encodeTermInline cx env False fun) (\pfun -> Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pfun) hargs, rargs))+      in case (Strip.deannotateAndDetypeTerm fun) of+        Model.TermProject v0 ->+          let fname = Model.projectionFieldName v0+              fieldExpr = Utils.projectFromExpression firstArg (PythonNames.encodeFieldName env fname)+          in (Right (withRest fieldExpr, rargs))+        Model.TermCases v0 -> Eithers.bind (encodeUnionEliminationInline cx env v0 firstArg) (\inlineExpr -> Right (withRest inlineExpr, rargs))+        Model.TermUnwrap _ ->+          let valueExpr = Utils.projectFromExpression firstArg (Syntax.Name "value")+              allArgs = Lists.concat2 restArgs rargs+          in (Logic.ifElse (Lists.isEmpty allArgs) (Right (valueExpr, [])) (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary valueExpr) allArgs, [])))+        Model.TermLambda _ -> Eithers.bind (encodeTermInline cx env False fun) (\pfun -> Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pfun) hargs, rargs))+        Model.TermVariable v0 ->+          let g = pythonEnvironmentGetGraph env+              allArgs = Lists.concat2 hargs rargs+              inlineVars = PythonEnvironment.pythonEnvironmentInlineVariables env+          in (Optionals.match (Maps.lookup v0 (Graph.graphPrimitives g)) (Optionals.match (Lexical.lookupBinding g v0) (Eithers.bind (encodeVariable cx env v0 hargs) (\expr -> Right (expr, rargs))) (\el -> Optionals.match (Model.bindingTypeScheme el) (Eithers.bind (encodeVariable cx env v0 hargs) (\expr -> Right (expr, rargs))) (\ts ->+            let elArity = Arity.typeSchemeArity ts+                consumeCount = Ordering.min elArity (Lists.length allArgs)+                consumedArgs = Lists.take consumeCount allArgs+                remainingArgs = Lists.drop consumeCount allArgs+            in (Logic.ifElse (Lists.isEmpty consumedArgs) (Eithers.bind (encodeVariable cx env v0 []) (\expr -> Right (expr, rargs))) (Logic.ifElse (Sets.member v0 inlineVars) (Right (+              Utils.functionCall (Utils.pyExpressionToPyPrimary (lazyDotGet (PythonNames.termVariableReference env v0))) consumedArgs,+              remainingArgs)) (Right (+              Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env v0)) consumedArgs,+              remainingArgs))))))) (\_prim ->+            let wrappedArgs = wrapLazyArguments g v0 hargs+            in (Eithers.bind (encodeVariable cx env v0 wrappedArgs) (\expr -> Right (expr, rargs)))))+        _ -> defaultCase++-- | Encode an application type to Python expression+encodeApplicationType :: PythonEnvironment.PythonEnvironment -> Model.ApplicationType -> Either t0 Syntax.Expression+encodeApplicationType env at =++      let gatherParams =+              \t -> \ps -> case (Strip.deannotateType t) of+                Model.TypeApplication v0 -> gatherParams (Model.applicationTypeFunction v0) (Lists.cons (Model.applicationTypeArgument v0) ps)+                Model.TypeAnnotated _ -> (t, ps)+                Model.TypeEffect _ -> (t, ps)+                Model.TypeFunction _ -> (t, ps)+                Model.TypeForall _ -> (t, ps)+                Model.TypeList _ -> (t, ps)+                Model.TypeLiteral _ -> (t, ps)+                Model.TypeMap _ -> (t, ps)+                Model.TypeOptional _ -> (t, ps)+                Model.TypeEither _ -> (t, ps)+                Model.TypePair _ -> (t, ps)+                Model.TypeRecord _ -> (t, ps)+                Model.TypeSet _ -> (t, ps)+                Model.TypeUnion _ -> (t, ps)+                Model.TypeUnit -> (t, ps)+                Model.TypeVariable _ -> (t, ps)+                Model.TypeVoid -> (t, ps)+                Model.TypeWrap _ -> (t, ps)+          bodyAndArgs = gatherParams (Model.TypeApplication at) []+          body = Pairs.first bodyAndArgs+          args = Pairs.second bodyAndArgs+      in (Eithers.bind (encodeType env body) (\pyBody -> Eithers.bind (Eithers.mapList (encodeType env) args) (\pyArgs -> Right (Utils.primaryAndParams (Utils.pyExpressionToPyPrimary pyBody) pyArgs))))++-- | Encode a binding as a Python statement (function definition or assignment)+encodeBindingAs :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Binding -> Either Errors.Error Syntax.Statement+encodeBindingAs cx env binding =++      let name1 = Model.bindingName binding+          term1 = Model.bindingTerm binding+          mts = Model.bindingTypeScheme binding+          fname = PythonNames.encodeName True Util.CaseConventionLowerSnake env name1+      in (Optionals.match mts (+        let gathered = gatherLambdas term1+            lambdaParams = Pairs.first gathered+            innerBody = Pairs.second gathered+            mcsa = isCaseStatementApplication innerBody+        in (Optionals.match mcsa (+          let mcs = extractCaseElimination term1+          in (Optionals.match mcs (Eithers.bind (encodeTermMultiline cx env term1) (\stmts -> Optionals.match (Lists.head stmts) (Left (Errors.ErrorOther (Errors.OtherError "encodeTermMultiline returned no statements"))) (\x -> Right x))) (\cs ->+            let tname = Model.caseStatementTypeName cs+                dflt = Model.caseStatementDefault cs+                cases_ = Model.caseStatementCases cs+            in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+              let isEnum = Predicates.isEnumRowType rt+                  isFull = isCasesFull rt cases_+                  innerParam =+                          Syntax.Param {+                            Syntax.paramName = (Syntax.Name "x"),+                            Syntax.paramAnnotation = Nothing}+                  param =+                          Syntax.ParamNoDefault {+                            Syntax.paramNoDefaultParam = innerParam,+                            Syntax.paramNoDefaultTypeComment = Nothing}+                  params =+                          Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+                            Syntax.paramNoDefaultParametersParamNoDefault = [+                              param],+                            Syntax.paramNoDefaultParametersParamWithDefault = [],+                            Syntax.paramNoDefaultParametersStarEtc = Nothing})+              in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->+                let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "x")))+                    allCases = Lists.concat2 pyCases pyDflt+                    matchStmt =+                            Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+                              Syntax.matchStatementSubject = subj,+                              Syntax.matchStatementCases = allCases}))+                    body = Utils.indentedBlock Nothing [+                          [+                            matchStmt]]+                    funcDefRaw =+                            Syntax.FunctionDefRaw {+                              Syntax.functionDefRawAsync = False,+                              Syntax.functionDefRawName = fname,+                              Syntax.functionDefRawTypeParams = [],+                              Syntax.functionDefRawParams = (Just params),+                              Syntax.functionDefRawReturnType = Nothing,+                              Syntax.functionDefRawFuncTypeComment = Nothing,+                              Syntax.functionDefRawBlock = body}+                in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+                  Syntax.functionDefinitionDecorators = Nothing,+                  Syntax.functionDefinitionRaw = funcDefRaw})))))))))))) (\csa -> Logic.ifElse (Lists.isEmpty lambdaParams) (+          let mcs = extractCaseElimination term1+          in (Optionals.match mcs (Eithers.bind (encodeTermMultiline cx env term1) (\stmts -> Optionals.match (Lists.head stmts) (Left (Errors.ErrorOther (Errors.OtherError "encodeTermMultiline returned no statements"))) (\x -> Right x))) (\cs ->+            let tname = Model.caseStatementTypeName cs+                dflt = Model.caseStatementDefault cs+                cases_ = Model.caseStatementCases cs+            in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+              let isEnum = Predicates.isEnumRowType rt+                  isFull = isCasesFull rt cases_+                  innerParam =+                          Syntax.Param {+                            Syntax.paramName = (Syntax.Name "x"),+                            Syntax.paramAnnotation = Nothing}+                  param =+                          Syntax.ParamNoDefault {+                            Syntax.paramNoDefaultParam = innerParam,+                            Syntax.paramNoDefaultTypeComment = Nothing}+                  params =+                          Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+                            Syntax.paramNoDefaultParametersParamNoDefault = [+                              param],+                            Syntax.paramNoDefaultParametersParamWithDefault = [],+                            Syntax.paramNoDefaultParametersStarEtc = Nothing})+              in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->+                let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "x")))+                    allCases = Lists.concat2 pyCases pyDflt+                    matchStmt =+                            Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+                              Syntax.matchStatementSubject = subj,+                              Syntax.matchStatementCases = allCases}))+                    body = Utils.indentedBlock Nothing [+                          [+                            matchStmt]]+                    funcDefRaw =+                            Syntax.FunctionDefRaw {+                              Syntax.functionDefRawAsync = False,+                              Syntax.functionDefRawName = fname,+                              Syntax.functionDefRawTypeParams = [],+                              Syntax.functionDefRawParams = (Just params),+                              Syntax.functionDefRawReturnType = Nothing,+                              Syntax.functionDefRawFuncTypeComment = Nothing,+                              Syntax.functionDefRawBlock = body}+                in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+                  Syntax.functionDefinitionDecorators = Nothing,+                  Syntax.functionDefinitionRaw = funcDefRaw})))))))))))) (+          let tname = Pairs.first csa+              rest1 = Pairs.second csa+              dflt = Pairs.first rest1+              rest2 = Pairs.second rest1+              cases_ = Pairs.first rest2+          in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+            let isEnum = Predicates.isEnumRowType rt+                isFull = isCasesFull rt cases_+                capturedVarNames = Optionals.withDefault [] (Lists.init lambdaParams)+                matchLambdaParam = Optionals.withDefault (Model.Name "") (Lists.last lambdaParams)+                capturedParams =+                        Lists.map (\n -> Syntax.ParamNoDefault {+                          Syntax.paramNoDefaultParam = Syntax.Param {+                            Syntax.paramName = (PythonNames.encodeName False Util.CaseConventionLowerSnake env n),+                            Syntax.paramAnnotation = Nothing},+                          Syntax.paramNoDefaultTypeComment = Nothing}) capturedVarNames+                matchArgName = PythonNames.encodeName False Util.CaseConventionLowerSnake env matchLambdaParam+                matchParam =+                        Syntax.ParamNoDefault {+                          Syntax.paramNoDefaultParam = Syntax.Param {+                            Syntax.paramName = matchArgName,+                            Syntax.paramAnnotation = Nothing},+                          Syntax.paramNoDefaultTypeComment = Nothing}+                allParams = Lists.concat2 capturedParams [+                      matchParam]+                params =+                        Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+                          Syntax.paramNoDefaultParametersParamNoDefault = allParams,+                          Syntax.paramNoDefaultParametersParamWithDefault = [],+                          Syntax.paramNoDefaultParametersStarEtc = Nothing})+                envWithParams = extendEnvWithLambdaParams env term1+            in (Eithers.bind (Eithers.mapList (caseBlockToExpr cx envWithParams tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) cases_) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx envWithParams False t) isFull dflt tname) (\pyDflt ->+              let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression matchArgName))+                  allCases = Lists.concat2 pyCases pyDflt+                  matchStmt =+                          Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+                            Syntax.matchStatementSubject = subj,+                            Syntax.matchStatementCases = allCases}))+                  body = Utils.indentedBlock Nothing [+                        [+                          matchStmt]]+                  funcDefRaw =+                          Syntax.FunctionDefRaw {+                            Syntax.functionDefRawAsync = False,+                            Syntax.functionDefRawName = fname,+                            Syntax.functionDefRawTypeParams = [],+                            Syntax.functionDefRawParams = (Just params),+                            Syntax.functionDefRawReturnType = Nothing,+                            Syntax.functionDefRawFuncTypeComment = Nothing,+                            Syntax.functionDefRawBlock = body}+              in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+                Syntax.functionDefinitionDecorators = Nothing,+                Syntax.functionDefinitionRaw = funcDefRaw}))))))))))))) (\ts -> Eithers.bind (Annotations.getTermDescription cx (pythonEnvironmentGetGraph env) term1) (\comment ->+        let normComment = Optionals.map Formatting.normalizeComment comment+        in (encodeTermAssignment cx env False name1 term1 ts normComment))))++-- | Encode a binding as a walrus operator assignment+encodeBindingAsAssignment :: Typing.InferenceContext -> Bool -> PythonEnvironment.PythonEnvironment -> Model.Binding -> Either Errors.Error Syntax.NamedExpression+encodeBindingAsAssignment cx allowThunking env binding =++      let name = Model.bindingName binding+          term = Model.bindingTerm binding+          mts = Model.bindingTypeScheme binding+          pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env name+      in (Eithers.bind (encodeTermInline cx env False term) (\pbody ->+        let tc = PythonEnvironment.pythonEnvironmentGraph env+            isComplexVar = Predicates.isComplexVariable tc name+            termIsComplex = Predicates.isComplexTerm tc term+            isTrivial = Predicates.isTrivialTerm term+            needsThunk =+                    Logic.ifElse isTrivial False (Optionals.match mts (Logic.and allowThunking (Logic.or isComplexVar termIsComplex)) (\ts -> Logic.and allowThunking (Logic.and (Equality.equal (Arity.typeSchemeArity ts) 0) (Logic.or isComplexVar termIsComplex))))+            pterm = makeLazy pbody+        in (Right (Syntax.NamedExpressionAssignment (Syntax.AssignmentExpression {+          Syntax.assignmentExpressionName = pyName,+          Syntax.assignmentExpressionExpression = pterm})))))++-- | Encode bindings as function definitions+encodeBindingsAsDefs :: t0 -> (t0 -> t1 -> Either t2 t3) -> [t1] -> Either t2 [t3]+encodeBindingsAsDefs env encodeBinding bindings = Eithers.mapList (encodeBinding env) bindings++-- | Encode the default (wildcard) case block for a match statement+encodeDefaultCaseBlock :: (t0 -> Either t1 Syntax.Expression) -> Bool -> Maybe t0 -> Model.Name -> Either t1 [Syntax.CaseBlock]+encodeDefaultCaseBlock termToExpr isFull mdflt tname =+    Eithers.bind (Optionals.match mdflt (Right (Logic.ifElse isFull (Utils.raiseAssertionError "Unreachable: all variants handled") (Utils.raiseTypeError (Strings.concat2 "Unsupported " (CoreNames.localNameOf tname))))) (\d -> Eithers.bind (termToExpr d) (\pyexpr -> Right (Utils.returnSingle pyexpr)))) (\stmt ->+      let patterns = Utils.pyClosedPatternToPyPatterns Syntax.ClosedPatternWildcard+          body = Utils.indentedBlock Nothing [+                [+                  stmt]]+      in (Right [+        Syntax.CaseBlock {+          Syntax.caseBlockPatterns = patterns,+          Syntax.caseBlockGuard = Nothing,+          Syntax.caseBlockBody = body}]))++-- | Encode a definition (term or type) to Python statements+encodeDefinition :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Packaging.Definition -> Either Errors.Error [[Syntax.Statement]]+encodeDefinition cx env def_ =+    case def_ of+      Packaging.DefinitionTerm v0 ->+        let name = Packaging.termDefinitionName v0+            term = Packaging.termDefinitionBody v0+            typ =+                    Optionals.match (Packaging.termDefinitionSignature v0) (Model.TypeScheme {+                      Model.typeSchemeVariables = [],+                      Model.typeSchemeBody = (Model.TypeVariable (Model.Name "hydra.core.model.Unit")),+                      Model.typeSchemeConstraints = Maps.empty}) (\sig -> Scoping.termSignatureToTypeScheme sig)+        in (Eithers.bind (Annotations.getTermDescription cx (pythonEnvironmentGetGraph env) term) (\comment ->+          let normComment = Optionals.map Formatting.normalizeComment comment+          in (Eithers.bind (encodeTermAssignment cx env True name term typ normComment) (\stmt -> Right [+            [+              stmt]]))))+      Packaging.DefinitionType v0 ->+        let name = Packaging.typeDefinitionName v0+            typ = Model.typeSchemeBody (Packaging.typeDefinitionBody v0)+        in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) typ) (\comment ->+          let normComment = Optionals.map Formatting.normalizeComment comment+          in (encodeTypeAssignment cx env name typ normComment)))++-- | Encode an enum value assignment statement with optional comment+encodeEnumValueAssignment :: t0 -> PythonEnvironment.PythonEnvironment -> Model.FieldType -> Either Errors.Error [Syntax.Statement]+encodeEnumValueAssignment cx env fieldType =++      let fname = Model.fieldTypeName fieldType+          ftype = Model.fieldTypeType fieldType+      in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\mcomment ->+        let pyName = PythonNames.encodeEnumValue env fname+            fnameStr = Model.unName fname+            pyValue =+                    Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Model.Name "hydra.core.model.Name"))) [+                      Utils.doubleQuotedString fnameStr]+            assignStmt = Utils.assignmentStatement pyName pyValue+        in (Right (Optionals.match mcomment [+          assignStmt] (\c -> [+          assignStmt,+          (Utils.pyExpressionToPyStatement (Utils.tripleQuotedString c))])))))++-- | Encode a field (name-value pair) to a Python (Name, Expression) pair+encodeField :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Field -> (Model.Term -> Either t1 t2) -> Either t1 (Syntax.Name, t2)+encodeField cx env field termToExpr =++      let fname = Model.fieldName field+          fterm = Model.fieldTerm field+      in (Eithers.bind (termToExpr fterm) (\pterm -> Right (PythonNames.encodeFieldName env fname, pterm)))++-- | Encode a field type for record definitions (field: type annotation)+encodeFieldType :: t0 -> PythonEnvironment.PythonEnvironment -> Model.FieldType -> Either Errors.Error Syntax.Statement+encodeFieldType cx env fieldType =++      let fname = Model.fieldTypeName fieldType+          ftype = Model.fieldTypeType fieldType+      in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\comment ->+        let pyName = Syntax.SingleTargetName (PythonNames.encodeFieldName env fname)+        in (Eithers.bind (encodeType env ftype) (\pyType ->+          let annotatedPyType = Utils.annotatedExpression comment pyType+          in (Right (Utils.pyAssignmentToPyStatement (Syntax.AssignmentTyped (Syntax.TypedAssignment {+            Syntax.typedAssignmentLhs = pyName,+            Syntax.typedAssignmentType = annotatedPyType,+            Syntax.typedAssignmentRhs = Nothing}))))))))++-- | Encode a float value to a Python expression+encodeFloatValue :: Model.FloatValue -> Either t0 Syntax.Expression+encodeFloatValue fv =+    case fv of+      Model.FloatValueFloat32 v0 -> encodeFloatValueEncodeFloat32 v0+      Model.FloatValueFloat64 v0 -> encodeFloatValueEncodeFloat64 v0++encodeFloatValueEncodeFloat32 :: Float -> Either t0 Syntax.Expression+encodeFloatValueEncodeFloat32 v =++      let s = Literals.printFloat32 v+      in (Logic.ifElse (Equality.equal s "NaN") (Right (encodeFloatValuePySpecialFloat "nan")) (Logic.ifElse (Equality.equal s "Infinity") (Right (encodeFloatValuePySpecialFloat "inf")) (Logic.ifElse (Equality.equal s "-Infinity") (Right (encodeFloatValuePySpecialFloat "-inf")) (Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberFloat (Literals.float32ToFloat64 v))))))))++encodeFloatValueEncodeFloat64 :: Double -> Either t0 Syntax.Expression+encodeFloatValueEncodeFloat64 v =++      let s = Literals.printFloat64 v+      in (Logic.ifElse (Equality.equal s "NaN") (Right (encodeFloatValuePySpecialFloat "nan")) (Logic.ifElse (Equality.equal s "Infinity") (Right (encodeFloatValuePySpecialFloat "inf")) (Logic.ifElse (Equality.equal s "-Infinity") (Right (encodeFloatValuePySpecialFloat "-inf")) (Logic.ifElse (Equality.equal s "-0.0") (Right (encodeFloatValuePySpecialFloat "-0.0")) (Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberFloat v))))))))++encodeFloatValuePySpecialFloat :: String -> Syntax.Expression+encodeFloatValuePySpecialFloat value =+    Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "float")) [+      Utils.singleQuotedString value]++-- | Encode a forall type to Python expression+encodeForallType :: PythonEnvironment.PythonEnvironment -> Model.ForallType -> Either t0 Syntax.Expression+encodeForallType env lt =++      let gatherParams =+              \t -> \ps -> case (Strip.deannotateType t) of+                Model.TypeForall v0 -> gatherParams (Model.forallTypeBody v0) (Lists.cons (Model.forallTypeParameter v0) ps)+                Model.TypeAnnotated _ -> (t, (Lists.reverse ps))+                Model.TypeApplication _ -> (t, (Lists.reverse ps))+                Model.TypeEffect _ -> (t, (Lists.reverse ps))+                Model.TypeFunction _ -> (t, (Lists.reverse ps))+                Model.TypeList _ -> (t, (Lists.reverse ps))+                Model.TypeLiteral _ -> (t, (Lists.reverse ps))+                Model.TypeMap _ -> (t, (Lists.reverse ps))+                Model.TypeOptional _ -> (t, (Lists.reverse ps))+                Model.TypeEither _ -> (t, (Lists.reverse ps))+                Model.TypePair _ -> (t, (Lists.reverse ps))+                Model.TypeRecord _ -> (t, (Lists.reverse ps))+                Model.TypeSet _ -> (t, (Lists.reverse ps))+                Model.TypeUnion _ -> (t, (Lists.reverse ps))+                Model.TypeUnit -> (t, (Lists.reverse ps))+                Model.TypeVariable _ -> (t, (Lists.reverse ps))+                Model.TypeVoid -> (t, (Lists.reverse ps))+                Model.TypeWrap _ -> (t, (Lists.reverse ps))+          bodyAndParams = gatherParams (Model.TypeForall lt) []+          body = Pairs.first bodyAndParams+          params = Pairs.second bodyAndParams+      in (Eithers.bind (encodeType env body) (\pyBody -> Right (Utils.primaryAndParams (Utils.pyExpressionToPyPrimary pyBody) (Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [+        Syntax.Conjunction [+          Syntax.InversionSimple (Syntax.Comparison {+            Syntax.comparisonLhs = Syntax.BitwiseOr {+              Syntax.bitwiseOrLhs = Nothing,+              Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+                Syntax.bitwiseXorLhs = Nothing,+                Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+                  Syntax.bitwiseAndLhs = Nothing,+                  Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+                    Syntax.shiftExpressionLhs = Nothing,+                    Syntax.shiftExpressionRhs = Syntax.Sum {+                      Syntax.sumLhs = Nothing,+                      Syntax.sumRhs = Syntax.Term {+                        Syntax.termLhs = Nothing,+                        Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+                          Syntax.powerLhs = Syntax.AwaitPrimary {+                            Syntax.awaitPrimaryAwait = False,+                            Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name (Model.unName n))))},+                          Syntax.powerRhs = Nothing}))}}}}}},+            Syntax.comparisonRhs = []})]])) params))))++-- | Encode a function type to Python Callable expression+encodeFunctionType :: PythonEnvironment.PythonEnvironment -> Model.FunctionType -> Either t0 Syntax.Expression+encodeFunctionType env ft =++      let gatherParams =+              \rdoms -> \ftype ->+                let innerCod = Model.functionTypeCodomain ftype+                    dom = Model.functionTypeDomain ftype+                in case (Strip.deannotateType innerCod) of+                  Model.TypeFunction v0 -> gatherParams (Lists.cons dom rdoms) v0+                  Model.TypeAnnotated _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeApplication _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeEffect _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeForall _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeList _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeLiteral _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeMap _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeOptional _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeEither _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypePair _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeRecord _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeSet _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeUnion _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeUnit -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeVariable _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeVoid -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+                  Model.TypeWrap _ -> (Lists.reverse (Lists.cons dom rdoms), innerCod)+          domsAndCod = gatherParams [] ft+          doms = Pairs.first domsAndCod+          cod = Pairs.second domsAndCod+      in (Eithers.bind (Eithers.mapList (encodeType env) doms) (\pydoms -> Eithers.bind (encodeType env cod) (\pycod -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Callable"))) (Utils.pyPrimaryToPySlice (Syntax.PrimarySimple (Syntax.AtomList (Utils.pyList pydoms)))) [+        Syntax.SliceOrStarredExpressionSlice (Utils.pyExpressionToPySlice pycod)])))))++-- | Encode an integer value to a Python expression+encodeIntegerValue :: Model.IntegerValue -> Either t0 Syntax.Expression+encodeIntegerValue iv =++      let toPyInt = \n -> Right (Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger n)))+      in case iv of+        Model.IntegerValueBigint v0 -> toPyInt v0+        Model.IntegerValueInt8 v0 -> toPyInt (Literals.int8ToBigint v0)+        Model.IntegerValueInt16 v0 -> toPyInt (Literals.int16ToBigint v0)+        Model.IntegerValueInt32 v0 -> toPyInt (Literals.int32ToBigint v0)+        Model.IntegerValueInt64 v0 -> toPyInt (Literals.int64ToBigint v0)+        Model.IntegerValueUint8 v0 -> toPyInt (Literals.uint8ToBigint v0)+        Model.IntegerValueUint16 v0 -> toPyInt (Literals.uint16ToBigint v0)+        Model.IntegerValueUint32 v0 -> toPyInt (Literals.uint32ToBigint v0)+        Model.IntegerValueUint64 v0 -> toPyInt (Literals.uint64ToBigint v0)++-- | Encode a literal value to a Python expression+encodeLiteral :: Model.Literal -> Either t0 Syntax.Expression+encodeLiteral lit =+    case lit of+      Model.LiteralBinary v0 ->+        let byteValues = Literals.binaryToBytes v0+        in (Right (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "bytes"))) [+          Utils.pyAtomToPyExpression (Syntax.AtomList (Utils.pyList (Lists.map (\byteVal -> Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint byteVal)))) byteValues)))]))+      Model.LiteralBoolean v0 -> Right (Utils.pyAtomToPyExpression (Logic.ifElse v0 Syntax.AtomTrue Syntax.AtomFalse))+      Model.LiteralDecimal v0 -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Decimal")) [+        Utils.singleQuotedString (Literals.printDecimal v0)])+      Model.LiteralFloat v0 -> encodeFloatValue v0+      Model.LiteralInteger v0 -> encodeIntegerValue v0+      Model.LiteralString v0 -> Right (Utils.stringToPyExpression Syntax.QuoteStyleDouble v0)++-- | Encode a literal type to a Python type expression+encodeLiteralType :: Model.LiteralType -> Either t0 Syntax.Expression+encodeLiteralType lt =++      let findName =+              case lt of+                Model.LiteralTypeBinary -> "bytes"+                Model.LiteralTypeBoolean -> "bool"+                Model.LiteralTypeDecimal -> "Decimal"+                Model.LiteralTypeFloat v0 -> case v0 of+                  Model.FloatTypeFloat32 -> "float"+                  Model.FloatTypeFloat64 -> "float"+                Model.LiteralTypeInteger _ -> "int"+                Model.LiteralTypeString -> "str"+      in (Right (Syntax.ExpressionSimple (Syntax.Disjunction [+        Syntax.Conjunction [+          Syntax.InversionSimple (Syntax.Comparison {+            Syntax.comparisonLhs = Syntax.BitwiseOr {+              Syntax.bitwiseOrLhs = Nothing,+              Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+                Syntax.bitwiseXorLhs = Nothing,+                Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+                  Syntax.bitwiseAndLhs = Nothing,+                  Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+                    Syntax.shiftExpressionLhs = Nothing,+                    Syntax.shiftExpressionRhs = Syntax.Sum {+                      Syntax.sumLhs = Nothing,+                      Syntax.sumRhs = Syntax.Term {+                        Syntax.termLhs = Nothing,+                        Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+                          Syntax.powerLhs = Syntax.AwaitPrimary {+                            Syntax.awaitPrimaryAwait = False,+                            Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name findName)))},+                          Syntax.powerRhs = Nothing}))}}}}}},+            Syntax.comparisonRhs = []})]])))++-- | Generate name constants for a type as class-level attributes+encodeNameConstants :: PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> [Syntax.Statement]+encodeNameConstants env name fields =++      let toStmt =+              \pair -> Utils.assignmentStatement (Pairs.first pair) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Model.Name "hydra.core.model.Name"))) [+                Utils.doubleQuotedString (Model.unName (Pairs.second pair))])+          namePair = (PythonNames.encodeConstantForTypeName env name, name)+          fieldPairs =+                  Lists.map (\field -> (PythonNames.encodeConstantForFieldName env name (Model.fieldTypeName field), (Model.fieldTypeName field))) fields+      in (Lists.map toStmt (Lists.cons namePair fieldPairs))++-- | Encode a Hydra module to a Python module AST, given the on-disk overlay-existence set (#630) driving emission-time primitive-reference redirects+encodePythonModule :: S.Set String -> Typing.InferenceContext -> Graph.Graph -> Packaging.Module -> [Packaging.Definition] -> Either Errors.Error Syntax.Module+encodePythonModule overlaySubs cx g mod defs0 =++      let defs = CoreEnvironment.reorderDefs defs0+          meta0 = gatherMetadata overlaySubs (Packaging.moduleName mod) defs+          namespaces0 = PythonEnvironment.pythonModuleMetadataNamespaces meta0+          env0 = initialEnvironment namespaces0 g overlaySubs+          isTypeMod = isTypeModuleCheck defs0+      in (withDefinitions env0 defs (\env -> Eithers.bind (Eithers.map (\xs -> Lists.concat xs) (Eithers.mapList (\d -> encodeDefinition cx env d) defs)) (\defStmts ->+        let meta2 = Logic.ifElse (Logic.and (Logic.not isTypeMod) useInlineTypeParams) (setMetaUsesTypeVar meta0 False) meta0+            meta =+                    Logic.ifElse (Logic.and isTypeMod (Equality.equal targetPythonVersion PythonEnvironment.PythonVersionPython310)) (setMetaUsesTypeAlias meta2 True) meta2+            namespaces = PythonEnvironment.pythonModuleMetadataNamespaces meta0+            commentStmts =+                    Optionals.match (Optionals.map Formatting.normalizeComment (Optionals.bind (Packaging.moduleMetadata mod) (\em -> Packaging.entityMetadataDescription em))) [] (\c -> [+                      Utils.commentStatement c])+            importStmts = moduleImports namespaces meta+            tvars =+                    Logic.ifElse (Logic.or isTypeMod (Logic.not useInlineTypeParams)) (PythonEnvironment.pythonModuleMetadataTypeVariables meta) Sets.empty+            tvarStmts = Lists.map (\tv -> tvarStatement (PythonNames.encodeTypeVariable tv)) (Sets.toList tvars)+            body =+                    Lists.filter (\group -> Logic.not (Lists.isEmpty group)) (Lists.concat [+                      [+                        commentStmts,+                        importStmts,+                        tvarStmts],+                      defStmts])+        in (Right (Syntax.Module body)))))++-- | Encode a record type as a Python dataclass+encodeRecordType :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> Maybe String -> Either Errors.Error Syntax.Statement+encodeRecordType cx env name rowType comment =+    Eithers.bind (Eithers.mapList (encodeFieldType cx env) rowType) (\pyFields ->+      let constStmts = encodeNameConstants env name rowType+          withMethods = Lists.map (recordWithMethod env) rowType+          boundVars = PythonEnvironment.pythonEnvironmentBoundTypeVariables env+          tparamList = Pairs.first boundVars+          mGenericArg = genericArg tparamList+          args = Optionals.match mGenericArg Nothing (\a -> Just (Utils.pyExpressionsToPyArgs [+                a]))+          decs = Just (Syntax.Decorators [+                dataclassDecorator])+          pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+          noTypeParams = []+      in (Eithers.bind (recordBuilderClass env name rowType args) (\builderStmts ->+        let body =+                Utils.indentedBlock comment [+                  pyFields,+                  constStmts,+                  withMethods,+                  builderStmts]+        in (Right (Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+          Syntax.classDefinitionDecorators = decs,+          Syntax.classDefinitionName = pyName,+          Syntax.classDefinitionTypeParams = noTypeParams,+          Syntax.classDefinitionArguments = args,+          Syntax.classDefinitionBody = body}))))))++-- | Encode a term assignment to a Python statement+encodeTermAssignment :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Bool -> Model.Name -> Model.Term -> Model.TypeScheme -> Maybe String -> Either Errors.Error Syntax.Statement+encodeTermAssignment cx env topLevel name term ts comment =+    Eithers.bind (analyzePythonFunction cx env term) (\fs ->+      let tparams = Typing.functionStructureTypeParams fs+          params = Typing.functionStructureParams fs+          bindings = Typing.functionStructureBindings fs+          body = Typing.functionStructureBody fs+          domsRaw = Typing.functionStructureDomains fs+          sigTermSig = Scoping.typeSchemeToTermSignature ts+          sigParamTypes = Lists.map (\p -> Typing.parameterType p) (Typing.termSignatureParameters sigTermSig)+          sigResult = Typing.termSignatureResult sigTermSig+          sigCod = Typing.resultType sigResult+          doms = fillDomsFromSignature domsRaw sigParamTypes+          mcod = Just sigCod+          env2 = Typing.functionStructureEnvironment fs+          tc = PythonEnvironment.pythonEnvironmentGraph env2+          binding =+                  Model.Binding {+                    Model.bindingName = name,+                    Model.bindingTerm = term,+                    Model.bindingTypeScheme = (Just ts)}+          isComplex = Predicates.isComplexBinding tc binding+          isTrivial = Predicates.isTrivialTerm term+      in (Logic.ifElse (Logic.and isComplex (Logic.not isTrivial)) (Logic.ifElse (Logic.and (Logic.not topLevel) (Lists.isEmpty params)) (Eithers.bind (encodeTermInline cx env2 False term) (\bodyExpr ->+        let pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env2 name+            lazyExpr = makeLazy bodyExpr+        in (Right (Utils.annotatedStatement comment (Utils.assignmentStatement pyName lazyExpr))))) (Eithers.bind (Eithers.mapList (encodeBindingAs cx env2) bindings) (\bindingStmts -> functionDefinitionToExpr cx env2 name tparams params body doms mcod comment bindingStmts))) (Eithers.bind (encodeTermInline cx env2 False body) (\bodyExpr ->+        let pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env2 name+        in (Right (Utils.annotatedStatement comment (Utils.assignmentStatement pyName bodyExpr)))))))++-- | Encode a term to a Python expression (inline form)+encodeTermInline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Bool -> Model.Term -> Either Errors.Error Syntax.Expression+encodeTermInline cx env noCast term =++      let encode = \t -> encodeTermInline cx env False t+          stripTypeApps =+                  \t -> case t of+                    Model.TermAnnotated v0 -> stripTypeApps (Model.annotatedTermBody v0)+                    Model.TermTypeApplication v0 -> stripTypeApps (Model.typeApplicationTermBody v0)+                    _ -> t+          withCast =+                  \pyexp -> Logic.ifElse (Logic.or noCast (PythonEnvironment.pythonEnvironmentSkipCasts env)) (Right pyexp) (+                    let tc = PythonEnvironment.pythonEnvironmentGraph env+                        mtyp = Eithers.map (\_r -> Pairs.first _r) (Checking.typeOf cx tc [] term)+                    in (Eithers.either (\_ -> Right pyexp) (\typ -> Eithers.either (\_ -> Right pyexp) (\pytyp -> Right (Utils.castTo pytyp pyexp)) (encodeType env typ)) mtyp))+      in case (Strip.deannotateAndDetypeTerm term) of+        Model.TermApplication v0 -> encodeApplication cx env v0+        Model.TermEither v0 -> Eithers.either (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Left")) [+          pyexp]))) (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Right")) [+          pyexp]))) v0+        Model.TermLambda v0 -> Eithers.bind (analyzePythonFunction cx env (Model.TermLambda v0)) (\fs ->+          let params = Typing.functionStructureParams fs+              bindings = Typing.functionStructureBindings fs+              innerBody = Typing.functionStructureBody fs+              innerEnv0 = Typing.functionStructureEnvironment fs+              bindingNames = Lists.map (\b -> Model.bindingName b) bindings+              innerEnv =+                      PythonEnvironment.PythonEnvironment {+                        PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces innerEnv0),+                        PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables innerEnv0),+                        PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph innerEnv0),+                        PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings innerEnv0),+                        PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion innerEnv0),+                        PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts innerEnv0),+                        PythonEnvironment.pythonEnvironmentInlineVariables = (Sets.union (Sets.fromList bindingNames) (PythonEnvironment.pythonEnvironmentInlineVariables innerEnv0)),+                        PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs innerEnv0)}+          in (Eithers.bind (encodeTermInline cx innerEnv False innerBody) (\pbody ->+            let pparams = Lists.map (PythonNames.encodeName False Util.CaseConventionLowerSnake innerEnv) params+            in (Logic.ifElse (Lists.isEmpty bindings) (Right (makeUncurriedLambda pparams pbody)) (Eithers.bind (Eithers.mapList (encodeBindingAsAssignment cx False innerEnv) bindings) (\pbindingExprs ->+              let pbindingStarExprs = Lists.map (\ne -> Syntax.StarNamedExpressionSimple ne) pbindingExprs+                  pbodyStarExpr = Utils.pyExpressionToPyStarNamedExpression pbody+                  tupleElements = Lists.concat2 pbindingStarExprs [+                        pbodyStarExpr]+                  tupleExpr = Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple tupleElements))+                  indexValue =+                          Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint (Lists.length bindings))))+                  indexedExpr = Utils.primaryWithExpressionSlices (Utils.pyExpressionToPyPrimary tupleExpr) [+                        indexValue]+              in (Right (makeUncurriedLambda pparams (Utils.pyPrimaryToPyExpression indexedExpr)))))))))+        Model.TermProject v0 ->+          let fname = Model.projectionFieldName v0+          in (Right (makeCurriedLambda [+            Syntax.Name "v1"] (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [+            Syntax.Conjunction [+              Syntax.InversionSimple (Syntax.Comparison {+                Syntax.comparisonLhs = Syntax.BitwiseOr {+                  Syntax.bitwiseOrLhs = Nothing,+                  Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+                    Syntax.bitwiseXorLhs = Nothing,+                    Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+                      Syntax.bitwiseAndLhs = Nothing,+                      Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+                        Syntax.shiftExpressionLhs = Nothing,+                        Syntax.shiftExpressionRhs = Syntax.Sum {+                          Syntax.sumLhs = Nothing,+                          Syntax.sumRhs = Syntax.Term {+                            Syntax.termLhs = Nothing,+                            Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+                              Syntax.powerLhs = Syntax.AwaitPrimary {+                                Syntax.awaitPrimaryAwait = False,+                                Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "v1")))},+                              Syntax.powerRhs = Nothing}))}}}}}},+                Syntax.comparisonRhs = []})]])) (PythonNames.encodeFieldName env fname))))+        Model.TermUnwrap _ -> Right (makeCurriedLambda [+          Syntax.Name "v1"] (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [+          Syntax.Conjunction [+            Syntax.InversionSimple (Syntax.Comparison {+              Syntax.comparisonLhs = Syntax.BitwiseOr {+                Syntax.bitwiseOrLhs = Nothing,+                Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+                  Syntax.bitwiseXorLhs = Nothing,+                  Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+                    Syntax.bitwiseAndLhs = Nothing,+                    Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+                      Syntax.shiftExpressionLhs = Nothing,+                      Syntax.shiftExpressionRhs = Syntax.Sum {+                        Syntax.sumLhs = Nothing,+                        Syntax.sumRhs = Syntax.Term {+                          Syntax.termLhs = Nothing,+                          Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+                            Syntax.powerLhs = Syntax.AwaitPrimary {+                              Syntax.awaitPrimaryAwait = False,+                              Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "v1")))},+                            Syntax.powerRhs = Nothing}))}}}}}},+              Syntax.comparisonRhs = []})]])) (Syntax.Name "value")))+        Model.TermCases _ -> Right (unsupportedExpression "case expressions as values are not yet supported")+        Model.TermLet v0 ->+          let bindings = Model.letBindings v0+              body = Model.letBody v0+          in (Logic.ifElse (Lists.isEmpty bindings) (encodeTermInline cx env False body) (withLetInline env v0 (\innerEnv -> Eithers.bind (Eithers.mapList (encodeBindingAsAssignment cx False innerEnv) bindings) (\pbindingExprs -> Eithers.bind (encodeTermInline cx innerEnv False body) (\pbody ->+            let pbindingStarExprs = Lists.map (\ne -> Syntax.StarNamedExpressionSimple ne) pbindingExprs+                pbodyStarExpr = Utils.pyExpressionToPyStarNamedExpression pbody+                tupleElements = Lists.concat2 pbindingStarExprs [+                      pbodyStarExpr]+                tupleExpr = Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple tupleElements))+                indexValue =+                        Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger (Literals.int32ToBigint (Lists.length bindings))))+                indexedExpr = Utils.primaryWithExpressionSlices (Utils.pyExpressionToPyPrimary tupleExpr) [+                      indexValue]+            in (Right (Utils.pyPrimaryToPyExpression indexedExpr)))))))+        Model.TermList v0 -> Eithers.bind (Eithers.mapList encode v0) (\pyExprs ->+          let consListOf = Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "ConsList")) (Syntax.Name "of")+          in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary consListOf) pyExprs)))+        Model.TermLiteral v0 -> encodeLiteral v0+        Model.TermMap v0 -> Eithers.bind (Eithers.mapList (\kv ->+          let k = Pairs.first kv+              v = Pairs.second kv+          in (Eithers.bind (encode k) (\pyK -> Eithers.bind (encode v) (\pyV -> Right (Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple [+            Utils.pyExpressionToPyStarNamedExpression pyK,+            (Utils.pyExpressionToPyStarNamedExpression pyV)]))))))) (Maps.toList v0)) (\tuplePairs ->+          let pmapOfEntries =+                  Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "PersistentMap")) (Syntax.Name "of_entries")+          in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary pmapOfEntries) tuplePairs)))+        Model.TermOptional v0 -> Optionals.match v0 (Right (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "None_")) [])) (\t1 -> Eithers.bind (encode t1) (\pyexp -> withCast (Utils.functionCall (Utils.pyNameToPyPrimary (Syntax.Name "Given")) [+          pyexp])))+        Model.TermPair v0 ->+          let t1 = Pairs.first v0+              t2 = Pairs.second v0+          in (Eithers.bind (encode t1) (\pyExpr1 -> Eithers.bind (encode t2) (\pyExpr2 -> Right (Utils.pyAtomToPyExpression (Syntax.AtomTuple (Syntax.Tuple [+            Utils.pyExpressionToPyStarNamedExpression pyExpr1,+            (Utils.pyExpressionToPyStarNamedExpression pyExpr2)]))))))+        Model.TermRecord v0 ->+          let tname = Model.recordTypeName v0+              fields = Model.recordFields v0+          in (Eithers.bind (Eithers.mapList (\fld -> encode (Model.fieldTerm fld)) fields) (\pargs -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeNameQualified env tname)) pargs)))+        Model.TermSet v0 -> Eithers.bind (Eithers.mapList encode (Sets.toList v0)) (\pyEls ->+          let psetOf = Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "PersistentSet")) (Syntax.Name "of")+          in (Right (Utils.functionCall (Utils.pyExpressionToPyPrimary psetOf) pyEls)))+        Model.TermTypeApplication v0 ->+          let body = Model.typeApplicationTermBody v0+          in (Eithers.bind (encodeTermInline cx env True (stripTypeApps body)) (\pybase -> withCast pybase))+        Model.TermTypeLambda v0 ->+          let body = Model.typeLambdaBody v0+          in (withTypeLambda env v0 (\env2 -> encodeTermInline cx env2 noCast body))+        Model.TermInject v0 ->+          let tname = Model.injectionTypeName v0+              field = Model.injectionField v0+          in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt -> Logic.ifElse (Predicates.isEnumRowType rt) (Right (Utils.projectFromExpression (Utils.pyNameToPyExpression (PythonNames.encodeNameQualified env tname)) (PythonNames.encodeEnumValue env (Model.fieldName field)))) (+            let fname = Model.fieldName field+                isUnitVariant =+                        Optionals.match (Lists.find (\ft -> Equality.equal (Model.unName (Model.fieldTypeName ft)) (Model.unName fname)) rt) False (\ft -> Predicates.isUnitType (Strip.deannotateType (Model.fieldTypeType ft)))+            in (Eithers.bind (Logic.ifElse (Logic.or (Predicates.isUnitTerm (Model.fieldTerm field)) isUnitVariant) (Right []) (Eithers.bind (encode (Model.fieldTerm field)) (\parg -> Right [+              parg]))) (\args ->+              let deconflictedName = deconflictVariantName True env tname fname (PythonEnvironment.pythonEnvironmentGraph env)+              in (Right (Utils.castTo (PythonNames.typeVariableReference env tname) (Utils.functionCall (Utils.pyNameToPyPrimary deconflictedName) args))))))))+        Model.TermUnit -> Right (Utils.pyNameToPyExpression Utils.pyNone)+        Model.TermVariable v0 -> encodeVariable cx env v0 []+        Model.TermWrap v0 ->+          let tname = Model.wrappedTermTypeName v0+              inner = Model.wrappedTermBody v0+          in (Eithers.bind (encode inner) (\parg -> Right (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeNameQualified env tname)) [+            parg])))++-- | Encode a term to a list of statements with return as final statement+encodeTermMultiline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Term -> Either Errors.Error [Syntax.Statement]+encodeTermMultiline cx env term =++      let dfltLogic =+              Eithers.bind (analyzePythonFunction cx env term) (\fs ->+                let params = Typing.functionStructureParams fs+                    bindings = Typing.functionStructureBindings fs+                    innerBody = Typing.functionStructureBody fs+                    env2 = Typing.functionStructureEnvironment fs+                in (Logic.ifElse (Lists.isEmpty bindings) (Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [+                  Utils.returnSingle expr])) (Eithers.bind (Eithers.mapList (encodeBindingAs cx env2) bindings) (\bindingStmts -> Eithers.bind (encodeTermMultiline cx env2 innerBody) (\bodyStmts -> Right (Lists.concat2 bindingStmts bodyStmts))))))+          gathered = Analysis.gatherApplications term+          args = Pairs.first gathered+          body = Pairs.second gathered+      in (Logic.ifElse (Equality.equal (Lists.length args) 1) (+        let arg = Optionals.withDefault Model.TermUnit (Lists.head args)+        in case (Strip.deannotateAndDetypeTerm body) of+          Model.TermCases v0 ->+            let tname = Model.caseStatementTypeName v0+                dflt = Model.caseStatementDefault v0+                cases_ = Model.caseStatementCases v0+            in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+              let isEnum = Predicates.isEnumRowType rt+                  isFull = isCasesFull rt cases_+              in (Eithers.bind (encodeTermInline cx env False arg) (\pyArg -> Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e -> \t -> encodeTermMultiline cx e t)) (deduplicateCaseVariables cases_)) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t -> encodeTermInline cx env False t) isFull dflt tname) (\pyDflt ->+                let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple pyArg)+                    matchStmt =+                            Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+                              Syntax.matchStatementSubject = subj,+                              Syntax.matchStatementCases = (Lists.concat2 pyCases pyDflt)}))+                in (Right [+                  matchStmt])))))))+          _ -> dfltLogic) dfltLogic)++-- | Encode a term body for TCO: tail self-calls become param reassignment + continue+encodeTermMultilineTCO :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.Name] -> Model.Term -> Either Errors.Error [Syntax.Statement]+encodeTermMultilineTCO cx env funcName paramNames term =++      let stripped = Strip.deannotateAndDetypeTerm term+          gathered = Analysis.gatherApplications stripped+          gatherArgs = Pairs.first gathered+          gatherFun = Pairs.second gathered+          strippedFun = Strip.deannotateAndDetypeTerm gatherFun+          isSelfCall =+                  case strippedFun of+                    Model.TermVariable v0 -> Equality.equal v0 funcName+                    _ -> False+      in (Logic.ifElse (Logic.and isSelfCall (Equality.equal (Lists.length gatherArgs) (Lists.length paramNames))) (Eithers.bind (Eithers.mapList (\a -> encodeTermInline cx env False a) gatherArgs) (\pyArgs ->+        let assignments =+                Lists.map (\pair ->+                  let paramName = Pairs.first pair+                      pyArg = Pairs.second pair+                  in (Utils.assignmentStatement (PythonNames.encodeName False Util.CaseConventionLowerSnake env paramName) pyArg)) (Lists.zip paramNames pyArgs)+            continueStmt = Syntax.StatementSimple [+                  Syntax.SimpleStatementContinue]+        in (Right (Lists.concat2 assignments [+          continueStmt])))) (+        let gathered2 = Analysis.gatherApplications term+            args2 = Pairs.first gathered2+            body2 = Pairs.second gathered2+        in (Logic.ifElse (Equality.equal (Lists.length args2) 1) (+          let arg = Optionals.withDefault Model.TermUnit (Lists.head args2)+          in case (Strip.deannotateAndDetypeTerm body2) of+            Model.TermCases v0 ->+              let tname = Model.caseStatementTypeName v0+                  dflt = Model.caseStatementDefault v0+                  cases_ = Model.caseStatementCases v0+              in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+                let isEnum = Predicates.isEnumRowType rt+                    isFull = isCasesFull rt cases_+                in (Eithers.bind (encodeTermInline cx env False arg) (\pyArg -> Eithers.bind (Eithers.mapList (caseBlockToExpr cx env tname rt isEnum (\e2 -> \t2 -> encodeTermMultilineTCO cx e2 funcName paramNames t2)) (deduplicateCaseVariables cases_)) (\pyCases -> Eithers.bind (encodeDefaultCaseBlock (\t2 -> encodeTermInline cx env False t2) isFull dflt tname) (\pyDflt ->+                  let subj = Syntax.SubjectExpressionSimple (Syntax.NamedExpressionSimple pyArg)+                      matchStmt =+                              Syntax.StatementCompound (Syntax.CompoundStatementMatch (Syntax.MatchStatement {+                                Syntax.matchStatementSubject = subj,+                                Syntax.matchStatementCases = (Lists.concat2 pyCases pyDflt)}))+                  in (Right [+                    matchStmt])))))))+            _ -> Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [+              Utils.returnSingle expr])) (Eithers.bind (encodeTermInline cx env False term) (\expr -> Right [+          Utils.returnSingle expr])))))++-- | Encode a Hydra type to a Python type expression+encodeType :: PythonEnvironment.PythonEnvironment -> Model.Type -> Either t0 Syntax.Expression+encodeType env typ =++      let dflt = Right (Utils.doubleQuotedString (Strings.concat2 "type = " (PrintModel.type_ (Strip.deannotateType typ))))+      in case (Strip.deannotateType typ) of+        Model.TypeApplication v0 -> encodeApplicationType env v0+        Model.TypeFunction v0 -> encodeFunctionType env v0+        Model.TypeForall v0 -> encodeForallType env v0+        Model.TypeList v0 -> Eithers.bind (encodeType env v0) (\pyet -> Right (Utils.nameAndParams (Syntax.Name "Sequence") [+          pyet]))+        Model.TypeMap v0 -> Eithers.bind (encodeType env (Model.mapTypeKeys v0)) (\pykt -> Eithers.bind (encodeType env (Model.mapTypeValues v0)) (\pyvt -> Right (Utils.nameAndParams (Syntax.Name "Mapping") [+          pykt,+          pyvt])))+        Model.TypeLiteral v0 -> encodeLiteralType v0+        Model.TypeOptional v0 -> Eithers.bind (encodeType env v0) (\ptype -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Optional"))) [+          ptype])))+        Model.TypeEither v0 -> Eithers.bind (encodeType env (Model.eitherTypeLeft v0)) (\pyleft -> Eithers.bind (encodeType env (Model.eitherTypeRight v0)) (\pyright -> Right (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Either"))) [+          pyleft,+          pyright]))))+        Model.TypePair v0 -> Eithers.bind (encodeType env (Model.pairTypeFirst v0)) (\pyFirst -> Eithers.bind (encodeType env (Model.pairTypeSecond v0)) (\pySecond -> Right (Utils.nameAndParams (Syntax.Name "tuple") [+          pyFirst,+          pySecond])))+        Model.TypeRecord _ -> dflt+        Model.TypeSet v0 -> Eithers.bind (encodeType env v0) (\pyet -> Right (Utils.nameAndParams (Syntax.Name "Set") [+          pyet]))+        Model.TypeUnion _ -> dflt+        Model.TypeUnit -> Right (Utils.pyNameToPyExpression Utils.pyNone)+        Model.TypeVoid -> Right (Utils.pyNameToPyExpression Utils.pyNone)+        Model.TypeVariable v0 -> Right (PythonNames.typeVariableReference env v0)+        Model.TypeWrap _ -> dflt+        Model.TypeAnnotated _ -> dflt+        Model.TypeEffect v0 -> encodeType env v0++-- | Encode a type definition, dispatching based on type structure+encodeTypeAssignment :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Type -> Maybe String -> Either Errors.Error [[Syntax.Statement]]+encodeTypeAssignment cx env name typ comment =+    Eithers.bind (encodeTypeAssignmentInner cx env name typ comment) (\defStmts -> Right (Lists.map (\s -> [+      s]) defStmts))++-- | Encode the inner type definition, unwrapping forall types+encodeTypeAssignmentInner :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Type -> Maybe String -> Either Errors.Error [Syntax.Statement]+encodeTypeAssignmentInner cx env name typ comment =++      let stripped = Strip.deannotateType typ+          dflt = Eithers.bind (encodeType env typ) (\typeExpr -> Right (encodeTypeDefSingle env name comment typeExpr))+      in case stripped of+        Model.TypeForall v0 ->+          let tvar = Model.forallTypeParameter v0+              body = Model.forallTypeBody v0+              newEnv = extendEnvWithTypeVar env tvar+          in (encodeTypeAssignmentInner cx newEnv name body comment)+        Model.TypeRecord v0 -> Eithers.map (\s -> [+          s]) (encodeRecordType cx env name v0 comment)+        Model.TypeUnion v0 -> encodeUnionType cx env name v0 comment+        Model.TypeWrap v0 -> encodeWrappedType env name v0 comment+        _ -> dflt++-- | Encode a simple type alias definition+encodeTypeDefSingle :: PythonEnvironment.PythonEnvironment -> Model.Name -> Maybe String -> Syntax.Expression -> [Syntax.Statement]+encodeTypeDefSingle env name comment typeExpr =++      let pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+          tparams = environmentTypeParameters env+      in [+        typeAliasStatementFor env pyName tparams comment typeExpr]++-- | Encode a type to a Python expression, quoting if the type has free variables+encodeTypeQuoted :: PythonEnvironment.PythonEnvironment -> Model.Type -> Either t0 Syntax.Expression+encodeTypeQuoted env typ =+    Eithers.bind (encodeType env typ) (\pytype -> Right (Logic.ifElse (Sets.isEmpty (Variables.freeVariablesInType typ)) pytype (Utils.doubleQuotedString (Serialization.printExpr (Serde.expressionToExpr pytype)))))++-- | Encode a union elimination as an inline conditional chain (isinstance-based ternary)+encodeUnionEliminationInline :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.CaseStatement -> Syntax.Expression -> Either Errors.Error Syntax.Expression+encodeUnionEliminationInline cx env cs pyArg =++      let tname = Model.caseStatementTypeName cs+          mdefault = Model.caseStatementDefault cs+          cases_ = Model.caseStatementCases cs+      in (Eithers.bind (Resolution.requireUnionType cx (pythonEnvironmentGetGraph env) tname) (\rt ->+        let isEnum = Predicates.isEnumRowType rt+            valueExpr = Utils.projectFromExpression pyArg (Syntax.Name "value")+            isinstancePrimary = Utils.pyNameToPyPrimary (Syntax.Name "isinstance")+        in (Eithers.bind (Optionals.match mdefault (Right (unsupportedExpression "no matching case in inline union elimination")) (\dflt -> encodeTermInline cx env False dflt)) (\pyDefault ->+          let encodeBranch =+                  \field ->+                    let fname = Model.caseAlternativeName field+                        fterm = Model.caseAlternativeHandler field+                        isUnitVariant = isVariantUnitType rt fname+                        pyVariantName = deconflictVariantName True env tname fname (PythonEnvironment.pythonEnvironmentGraph env)+                        pyTypeName = PythonNames.encodeName True Util.CaseConventionPascal env tname+                        pyEnumValue = PythonNames.encodeEnumValue env fname+                        enumMemberExpr =+                                Utils.pyPrimaryToPyExpression (Syntax.PrimaryCompound (Syntax.PrimaryWithRhs {+                                  Syntax.primaryWithRhsPrimary = (Utils.pyNameToPyPrimary pyTypeName),+                                  Syntax.primaryWithRhsRhs = (Syntax.PrimaryRhsProject pyEnumValue)}))+                        isinstanceCheck =+                                Logic.ifElse isEnum (Syntax.ExpressionSimple (Syntax.Disjunction [+                                  Syntax.Conjunction [+                                    Syntax.InversionSimple (Syntax.Comparison {+                                      Syntax.comparisonLhs = (Utils.pyExpressionToBitwiseOr pyArg),+                                      Syntax.comparisonRhs = [+                                        Syntax.CompareOpBitwiseOrPair {+                                          Syntax.compareOpBitwiseOrPairOperator = Syntax.CompareOpEq,+                                          Syntax.compareOpBitwiseOrPairRhs = (Utils.pyExpressionToBitwiseOr enumMemberExpr)}]})]])) (Utils.functionCall isinstancePrimary [+                                  pyArg,+                                  (Utils.pyNameToPyExpression pyVariantName)])+                    in (Eithers.bind (encodeTermInline cx env False fterm) (\pyBranch ->+                      let pyResult =+                              Logic.ifElse isEnum (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [+                                pyArg]) (Logic.ifElse isUnitVariant (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [+                                pyArg]) (Utils.functionCall (Utils.pyExpressionToPyPrimary pyBranch) [+                                valueExpr]))+                      in (Right (isinstanceCheck, pyResult))))+          in (Eithers.bind (Eithers.mapList encodeBranch cases_) (\encodedBranches ->+            let buildChain =+                    \elseExpr -> \branchPair ->+                      let checkExpr = Pairs.first branchPair+                          resultExpr = Pairs.second branchPair+                      in (Syntax.ExpressionConditional (Syntax.Conditional {+                        Syntax.conditionalBody = (Utils.pyExpressionToDisjunction resultExpr),+                        Syntax.conditionalIf = (Utils.pyExpressionToDisjunction checkExpr),+                        Syntax.conditionalElse = elseExpr}))+            in (Right (Lists.foldl buildChain pyDefault (Lists.reverse encodedBranches)))))))))++-- | Encode a union field as a variant class+encodeUnionField :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> Model.FieldType -> Either Errors.Error Syntax.Statement+encodeUnionField cx env unionName fieldType =++      let fname = Model.fieldTypeName fieldType+          ftype = Model.fieldTypeType fieldType+      in (Eithers.bind (Annotations.getTypeDescription cx (pythonEnvironmentGetGraph env) ftype) (\fcomment ->+        let isUnit = Equality.equal (Strip.deannotateType ftype) Model.TypeUnit+            isDecimal = Equality.equal (Strip.deannotateType ftype) (Model.TypeLiteral Model.LiteralTypeDecimal)+            varName = deconflictVariantName False env unionName fname (PythonEnvironment.pythonEnvironmentGraph env)+            tparamNames = findTypeParams env ftype+            tparamPyNames = Lists.map PythonNames.encodeTypeVariable tparamNames+            fieldParams = Lists.map Utils.pyNameToPyTypeParameter tparamPyNames+            body =+                    Logic.ifElse isUnit (Utils.indentedBlock fcomment [+                      Utils.unitVariantMethods varName]) (Logic.ifElse isDecimal (Utils.indentedBlock fcomment [+                      Utils.decimalVariantMethods]) (Utils.indentedBlock fcomment []))+        in (Eithers.bind (Logic.ifElse isUnit (Right Nothing) (Eithers.bind (encodeTypeQuoted env ftype) (\quotedType -> Right (Just (variantArgs quotedType []))))) (\margs -> Right (Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+          Syntax.classDefinitionDecorators = Nothing,+          Syntax.classDefinitionName = varName,+          Syntax.classDefinitionTypeParams = fieldParams,+          Syntax.classDefinitionArguments = margs,+          Syntax.classDefinitionBody = body}))))))++-- | Encode a union field as a primary expression for | alternatives+encodeUnionFieldAlt :: PythonEnvironment.PythonEnvironment -> Model.Name -> Model.FieldType -> Syntax.Primary+encodeUnionFieldAlt env unionName fieldType =++      let fname = Model.fieldTypeName fieldType+          ftype = Model.fieldTypeType fieldType+          tparamNames = findTypeParams env ftype+          tparams = Lists.map PythonNames.encodeTypeVariable tparamNames+          namePrim = Utils.pyNameToPyPrimary (PythonNames.variantName False env unionName fname)+      in (Logic.ifElse (Lists.isEmpty tparams) namePrim (+        let tparamExprs = Lists.map Utils.pyNameToPyExpression tparams+        in (Utils.primaryWithExpressionSlices namePrim tparamExprs)))++-- | Encode a union type as an enum (for unit-only fields) or variant classes+encodeUnionType :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> Maybe String -> Either Errors.Error [Syntax.Statement]+encodeUnionType cx env name rowType comment =+    Logic.ifElse (Predicates.isEnumRowType rowType) (Eithers.bind (Eithers.mapList (encodeEnumValueAssignment cx env) rowType) (\vals ->+      let body = Utils.indentedBlock comment vals+          enumName = Syntax.Name "Enum"+          args = Just (Utils.pyExpressionsToPyArgs [+                Utils.pyNameToPyExpression enumName])+          pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+          typeConstStmt =+                  Utils.dottedAssignmentStatement pyName (PythonNames.encodeConstantForTypeName env name) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Model.Name "hydra.core.model.Name"))) [+                    Utils.doubleQuotedString (Model.unName name)])+      in (Right [+        Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+          Syntax.classDefinitionDecorators = Nothing,+          Syntax.classDefinitionName = pyName,+          Syntax.classDefinitionTypeParams = [],+          Syntax.classDefinitionArguments = args,+          Syntax.classDefinitionBody = body}),+        typeConstStmt]))) (+      let constStmts = encodeNameConstants env name rowType+      in (Eithers.bind (Eithers.mapList (encodeUnionField cx env name) rowType) (\fieldStmts ->+        let tparams = environmentTypeParameters env+            unionAlts = Lists.map (encodeUnionFieldAlt env name) rowType+            unionStmts =+                    unionTypeStatementsFor env (PythonNames.encodeName False Util.CaseConventionPascal env name) tparams comment (Utils.orExpression unionAlts) constStmts+        in (Right (Lists.concat2 fieldStmts unionStmts)))))++-- | Encode a variable reference to a Python expression+encodeVariable :: t0 -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Syntax.Expression] -> Either Errors.Error Syntax.Expression+encodeVariable cx env name args =++      let g = pythonEnvironmentGetGraph env+          tc = PythonEnvironment.pythonEnvironmentGraph env+          tcTypes = Graph.graphBoundTypes tc+          tcLambdaVars = Graph.graphLambdaVariables tc+          tcMetadata = Graph.graphMetadata tc+          inlineVars = PythonEnvironment.pythonEnvironmentInlineVariables env+          mTypScheme = Maps.lookup name tcTypes+          mTyp = Optionals.map (\ts_ -> Model.typeSchemeBody ts_) mTypScheme+          asVariable = PythonNames.termVariableReference env name+          asFunctionCall =+                  Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env name)) args+          asLazyCall = Utils.functionCall (Utils.pyExpressionToPyPrimary (lazyDotGet asVariable)) args+      in (Logic.ifElse (Logic.not (Lists.isEmpty args)) (Logic.ifElse (Sets.member name inlineVars) (Right asLazyCall) (Optionals.match (Lexical.lookupPrimitive g name) (Right asFunctionCall) (\prim ->+        let primArity = Arity.primitiveArity prim+        in (Logic.ifElse (Equality.equal primArity (Lists.length args)) (Right asFunctionCall) (+          let numRemaining = Math.sub primArity (Lists.length args)+              remainingParams =+                      Lists.map (\i -> Syntax.Name (Strings.concat2 "x" (Literals.printInt32 i))) (Math.range 1 (Math.add numRemaining 1))+              remainingExprs =+                      Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [+                        Syntax.Conjunction [+                          Syntax.InversionSimple (Syntax.Comparison {+                            Syntax.comparisonLhs = Syntax.BitwiseOr {+                              Syntax.bitwiseOrLhs = Nothing,+                              Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+                                Syntax.bitwiseXorLhs = Nothing,+                                Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+                                  Syntax.bitwiseAndLhs = Nothing,+                                  Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+                                    Syntax.shiftExpressionLhs = Nothing,+                                    Syntax.shiftExpressionRhs = Syntax.Sum {+                                      Syntax.sumLhs = Nothing,+                                      Syntax.sumRhs = Syntax.Term {+                                        Syntax.termLhs = Nothing,+                                        Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+                                          Syntax.powerLhs = Syntax.AwaitPrimary {+                                            Syntax.awaitPrimaryAwait = False,+                                            Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName n))},+                                          Syntax.powerRhs = Nothing}))}}}}}},+                            Syntax.comparisonRhs = []})]])) remainingParams+              allArgs = Lists.concat2 args remainingExprs+              fullCall =+                      Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionLowerSnake env name)) allArgs+          in (Right (makeUncurriedLambda remainingParams fullCall))))))) (Optionals.match mTyp (Logic.ifElse (Sets.member name tcLambdaVars) (Right asVariable) (Logic.ifElse (Sets.member name inlineVars) (Right (lazyDotGet asVariable)) (Optionals.match (Lexical.lookupPrimitive g name) (Optionals.match (Lexical.lookupBinding g name) (Optionals.match (Maps.lookup name tcMetadata) (Left (Errors.ErrorOther (Errors.OtherError (Strings.concat2 "Unknown variable: " (Model.unName name))))) (\_ -> Right asFunctionCall)) (\el ->+        let elTrivial1 = Predicates.isTrivialTerm (Model.bindingTerm el)+        in (Optionals.match (Model.bindingTypeScheme el) (Right asVariable) (\ts -> Logic.ifElse (Logic.and (Logic.and (Equality.equal (Arity.typeSchemeArity ts) 0) (Predicates.isComplexBinding tc el)) (Logic.not elTrivial1)) (Right asFunctionCall) (+          let asFunctionRef =+                  Logic.ifElse (Logic.not (Lists.isEmpty (Model.typeSchemeVariables ts))) (makeSimpleLambda (Arity.typeArity (Model.typeSchemeBody ts)) asVariable) asVariable+          in (Right asFunctionRef)))))) (\prim ->+        let primArity = Arity.primitiveArity prim+        in (Logic.ifElse (Equality.equal primArity 0) (Right asFunctionCall) (+          let ts = Scoping.termSignatureToTypeScheme (Packaging.primitiveDefinitionSignature (Graph.primitiveDefinition prim))+              asFunctionRef =+                      Logic.ifElse (Logic.not (Lists.isEmpty (Model.typeSchemeVariables ts))) (makeSimpleLambda (Arity.typeArity (Model.typeSchemeBody ts)) asVariable) asVariable+          in (Right asFunctionRef))))))) (\typ -> Logic.ifElse (Sets.member name tcLambdaVars) (Right asVariable) (Logic.ifElse (Sets.member name inlineVars) (+        let unwrapped = lazyDotGet asVariable+            asFunctionRef =+                    Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) unwrapped) unwrapped+        in (Right asFunctionRef)) (Logic.ifElse (Logic.not (Maps.member name tcMetadata)) (Optionals.match (Lexical.lookupBinding g name) (+        let asFunctionRef =+                Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable+        in (Right asFunctionRef)) (\el ->+        let elTrivial = Predicates.isTrivialTerm (Model.bindingTerm el)+        in (Optionals.match (Model.bindingTypeScheme el) (Logic.ifElse (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Logic.not elTrivial)) (Right asFunctionCall) (+          let asFunctionRef =+                  Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable+          in (Right asFunctionRef))) (\ts -> Logic.ifElse (Logic.and (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Predicates.isComplexBinding tc el)) (Logic.not elTrivial)) (Right asFunctionCall) (+          let asFunctionRef =+                  Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable+          in (Right asFunctionRef)))))) (Logic.ifElse (Logic.and (Equality.equal (Arity.typeArity typ) 0) (Predicates.isComplexVariable tc name)) (Right asFunctionCall) (+        let asFunctionRef =+                Logic.ifElse (Logic.not (Sets.isEmpty (Variables.freeVariablesInType typ))) (makeSimpleLambda (Arity.typeArity typ) asVariable) asVariable+        in (Right asFunctionRef))))))))++-- | Encode a wrapped type (newtype) to a Python class definition+encodeWrappedType :: PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Type -> Maybe String -> Either t0 [Syntax.Statement]+encodeWrappedType env name typ comment =++      let tparamList = Pairs.first (PythonEnvironment.pythonEnvironmentBoundTypeVariables env)+      in (Eithers.bind (encodeTypeQuoted env typ) (\ptypeQuoted ->+        let pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+            body = Utils.indentedBlock comment []+            typeConstStmt =+                    Utils.dottedAssignmentStatement pyName (PythonNames.encodeConstantForTypeName env name) (Utils.functionCall (Utils.pyNameToPyPrimary (PythonNames.encodeName True Util.CaseConventionPascal env (Model.Name "hydra.core.model.Name"))) [+                      Utils.doubleQuotedString (Model.unName name)])+        in (Right [+          Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+            Syntax.classDefinitionDecorators = Nothing,+            Syntax.classDefinitionName = pyName,+            Syntax.classDefinitionTypeParams = (Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) (findTypeParams env typ)),+            Syntax.classDefinitionArguments = (Just (variantArgs ptypeQuoted tparamList)),+            Syntax.classDefinitionBody = body}),+          typeConstStmt])))++-- | Create a value pattern for an enum variant+enumVariantPattern :: PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Name -> Syntax.ClosedPattern+enumVariantPattern env typeName fieldName =+    Syntax.ClosedPatternValue (Syntax.ValuePattern (Syntax.Attribute [+      PythonNames.encodeName True Util.CaseConventionPascal env typeName,+      (PythonNames.encodeEnumValue env fieldName)]))++-- | Get type parameters from environment as Python TypeParameters+environmentTypeParameters :: PythonEnvironment.PythonEnvironment -> [Syntax.TypeParameter]+environmentTypeParameters env =+    Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) (Pairs.first (PythonEnvironment.pythonEnvironmentBoundTypeVariables env))++-- | Extend environment with lambda parameters from a term+extendEnvWithLambdaParams :: PythonEnvironment.PythonEnvironment -> Model.Term -> PythonEnvironment.PythonEnvironment+extendEnvWithLambdaParams env term =++      let go =+              \e -> \t -> case (Strip.deannotateAndDetypeTerm t) of+                Model.TermLambda v0 ->+                  let newTc = Scoping.extendGraphForLambda (pythonEnvironmentGetGraph e) v0+                      newEnv = pythonEnvironmentSetGraph newTc e+                  in (go newEnv (Model.lambdaBody v0))+                _ -> e+      in (go env term)++-- | Extend a PythonEnvironment with a new bound type variable+extendEnvWithTypeVar :: PythonEnvironment.PythonEnvironment -> Model.Name -> PythonEnvironment.PythonEnvironment+extendEnvWithTypeVar env var_ =++      let oldBound = PythonEnvironment.pythonEnvironmentBoundTypeVariables env+          tparamList = Pairs.first oldBound+          tparamMap = Pairs.second oldBound+          newList = Lists.concat2 tparamList [+                var_]+          newMap = Maps.insert var_ (PythonNames.encodeTypeVariable var_) tparamMap+      in PythonEnvironment.PythonEnvironment {+        PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces env),+        PythonEnvironment.pythonEnvironmentBoundTypeVariables = (newList, newMap),+        PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph env),+        PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings env),+        PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion env),+        PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts env),+        PythonEnvironment.pythonEnvironmentInlineVariables = (PythonEnvironment.pythonEnvironmentInlineVariables env),+        PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs env)}++-- | Extend metadata based on a term (used during module encoding)+extendMetaForTerm :: Bool -> PythonEnvironment.PythonModuleMetadata -> Model.Term -> PythonEnvironment.PythonModuleMetadata+extendMetaForTerm topLevel meta0 term =++      let step =+              \meta -> \t -> case t of+                Model.TermEither v0 ->+                  let metaWithCast = setMetaUsesCast True meta+                  in (Eithers.either (\_ -> setMetaUsesLeft metaWithCast True) (\_ -> setMetaUsesRight metaWithCast True) v0)+                Model.TermLambda v0 -> Optionals.match (Model.lambdaDomain v0) meta (\dom -> Logic.ifElse topLevel (extendMetaForType True False dom meta) meta)+                Model.TermLet v0 ->+                  let bindings = Model.letBindings v0+                  in (Lists.foldl (+                    let forBinding =+                            \m -> \b -> Optionals.match (Model.bindingTypeScheme b) m (\ts ->+                              let term1 = Model.bindingTerm b+                              in (Logic.ifElse (Analysis.isSimpleAssignment term1) m (extendMetaForType True True (Model.typeSchemeBody ts) m)))+                    in forBinding) meta bindings)+                Model.TermLiteral v0 -> case v0 of+                  Model.LiteralDecimal _ -> setMetaUsesDecimal meta True+                  _ -> meta+                Model.TermList _ -> setMetaUsesFrozenList meta True+                Model.TermMap _ -> setMetaUsesFrozenDict meta True+                Model.TermSet _ -> setMetaUsesFrozenSet meta True+                Model.TermOptional v0 -> Optionals.match v0 (setMetaUsesNothing meta True) (\_ -> setMetaUsesJust meta True)+                Model.TermInject _ -> setMetaUsesCast True meta+                _ -> meta+      in (Rewriting.foldOverTerm Coders.TraversalOrderPre step meta0 term)++-- | Extend metadata based on a type (used during module encoding)+extendMetaForType :: Bool -> Bool -> Model.Type -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+extendMetaForType topLevel isTermAnnot typ meta =++      let currentTvars = PythonEnvironment.pythonModuleMetadataTypeVariables meta+          newTvars = collectTypeVariables currentTvars typ+          metaWithTvars = setMetaTypeVariables meta newTvars+          metaWithSubtypes = Lists.foldl (\m -> \t -> extendMetaForType False isTermAnnot t m) metaWithTvars (Rewriting.subtypes typ)+      in case (Strip.deannotateType typ) of+        Model.TypeFunction _ -> Logic.ifElse (Logic.and isTermAnnot topLevel) metaWithSubtypes (setMetaUsesCallable metaWithSubtypes True)+        Model.TypeList _ -> setMetaUsesFrozenList metaWithSubtypes True+        Model.TypeMap _ -> setMetaUsesFrozenDict metaWithSubtypes True+        Model.TypeSet _ -> setMetaUsesFrozenSet metaWithSubtypes True+        Model.TypeOptional _ -> setMetaUsesMaybe metaWithSubtypes True+        Model.TypeEither _ -> setMetaUsesEither metaWithSubtypes True+        Model.TypeLiteral v0 -> case v0 of+          Model.LiteralTypeDecimal -> setMetaUsesDecimal metaWithSubtypes True+          _ -> metaWithSubtypes+        Model.TypeUnion v0 -> Logic.ifElse (Predicates.isEnumRowType v0) (setMetaUsesEnum metaWithSubtypes True) (Logic.ifElse (Logic.not (Lists.isEmpty v0)) (setMetaUsesNode metaWithSubtypes True) metaWithSubtypes)+        Model.TypeForall v0 ->+          let body = Model.forallTypeBody v0+              metaForWrap = digForWrap isTermAnnot metaWithSubtypes body+          in case (Strip.deannotateType body) of+            Model.TypeRecord _ -> setMetaUsesGeneric metaForWrap True+            _ -> metaForWrap+        Model.TypeRecord v0 ->+          let hasAnnotated = Lists.foldl (\b -> \ft -> Logic.or b (Annotations.hasTypeDescription (Model.fieldTypeType ft))) False v0+              meta1 = Logic.ifElse (Lists.isEmpty v0) metaWithSubtypes (setMetaUsesDataclass metaWithSubtypes True)+          in (Logic.ifElse hasAnnotated (setMetaUsesAnnotated meta1 True) meta1)+        Model.TypeWrap _ -> Logic.ifElse isTermAnnot metaWithSubtypes (setMetaUsesNode metaWithSubtypes True)+        _ -> metaWithSubtypes++-- | Extend metadata for a list of types+extendMetaForTypes :: [Model.Type] -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+extendMetaForTypes types meta =++      let names = Sets.unions (Lists.map (\t -> Dependencies.typeDependencyNames False t) types)+          currentNs = PythonEnvironment.pythonModuleMetadataNamespaces meta+          updatedNs = Analysis.addNamesToModuleNames (PythonNames.encodeNamespaceWithOverrides Sets.empty) names currentNs+          meta1 = setMetaNamespaces updatedNs meta+      in (Lists.foldl (\m -> \t -> extendMetaForType True False t m) meta1 types)++-- | Extract CaseStatement from a case elimination term+extractCaseElimination :: Model.Term -> Maybe Model.CaseStatement+extractCaseElimination term =+    case (Strip.deannotateAndDetypeTerm term) of+      Model.TermCases v0 -> Just v0+      _ -> Nothing++-- | Prefer signature parameter types over analysis-captured lambda domains when both are available in equal length (#488).+fillDomsFromSignature :: [t0] -> [t0] -> [t0]+fillDomsFromSignature doms sigParamTypes =+    Logic.ifElse (Equality.equal (Lists.length doms) (Lists.length sigParamTypes)) sigParamTypes doms++-- | Find type parameters in a type that are bound in the environment+findTypeParams :: PythonEnvironment.PythonEnvironment -> Model.Type -> [Model.Name]+findTypeParams env typ =++      let boundVars = Pairs.second (PythonEnvironment.pythonEnvironmentBoundTypeVariables env)+          isBound = \v -> Optionals.isGiven (Maps.lookup v boundVars)+      in (Lists.filter isBound (Sets.toList (Variables.freeVariablesInType typ)))++-- | Encode a function definition with parameters and body+functionDefinitionToExpr :: Typing.InferenceContext -> PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.Name] -> [Model.Name] -> Model.Term -> [Model.Type] -> Maybe Model.Type -> Maybe String -> [Syntax.Statement] -> Either Errors.Error Syntax.Statement+functionDefinitionToExpr cx env name tparams args body doms mcod comment prefixes =+    Eithers.bind (Eithers.mapList (\pair ->+      let argName = Pairs.first pair+          typ = Pairs.second pair+      in (Eithers.bind (encodeType env typ) (\pyTyp -> Right (Syntax.ParamNoDefault {+        Syntax.paramNoDefaultParam = Syntax.Param {+          Syntax.paramName = (PythonNames.encodeName False Util.CaseConventionLowerSnake env argName),+          Syntax.paramAnnotation = (Just (Syntax.Annotation pyTyp))},+        Syntax.paramNoDefaultTypeComment = Nothing})))) (Lists.zip args doms)) (\pyArgs ->+      let pyParams =+              Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+                Syntax.paramNoDefaultParametersParamNoDefault = pyArgs,+                Syntax.paramNoDefaultParametersParamWithDefault = [],+                Syntax.paramNoDefaultParametersStarEtc = Nothing})+          isTCO = Logic.and (Logic.not (Lists.isEmpty args)) (Analysis.isSelfTailRecursive name body)+      in (Eithers.bind (Logic.ifElse isTCO (Eithers.bind (encodeTermMultilineTCO cx env name args body) (\tcoStmts ->+        let trueExpr = Syntax.NamedExpressionSimple (Utils.pyAtomToPyExpression Syntax.AtomTrue)+            whileBody = Utils.indentedBlock Nothing [+                  Lists.concat2 prefixes tcoStmts]+            whileStmt =+                    Syntax.StatementCompound (Syntax.CompoundStatementWhile (Syntax.WhileStatement {+                      Syntax.whileStatementCondition = trueExpr,+                      Syntax.whileStatementBody = whileBody,+                      Syntax.whileStatementElse = Nothing}))+        in (Right (Utils.indentedBlock comment [+          [+            whileStmt]])))) (Eithers.bind (encodeTermMultiline cx env body) (\stmts -> Right (Utils.indentedBlock comment [+        Lists.concat2 prefixes stmts])))) (\block -> Eithers.bind (Optionals.match mcod (Right Nothing) (\cod -> Eithers.bind (encodeType env cod) (\pytyp -> Right (Just pytyp)))) (\mreturnType ->+        let pyTparams =+                Logic.ifElse useInlineTypeParams (Lists.map (\arg_ -> Utils.pyNameToPyTypeParameter (PythonNames.encodeTypeVariable arg_)) tparams) []+            isThunk = Lists.isEmpty args+            mDecorators = Logic.ifElse isThunk (Just (Syntax.Decorators [+                  lruCacheDecorator])) Nothing+            pyName = PythonNames.encodeName False Util.CaseConventionLowerSnake env name+        in (Right (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+          Syntax.functionDefinitionDecorators = mDecorators,+          Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+            Syntax.functionDefRawAsync = False,+            Syntax.functionDefRawName = pyName,+            Syntax.functionDefRawTypeParams = pyTparams,+            Syntax.functionDefRawParams = (Just pyParams),+            Syntax.functionDefRawReturnType = mreturnType,+            Syntax.functionDefRawFuncTypeComment = Nothing,+            Syntax.functionDefRawBlock = block}}))))))))++-- | Extract lambdas and their bodies from a term+gatherLambdas :: Model.Term -> ([Model.Name], Model.Term)+gatherLambdas term =++      let go =+              \params -> \t -> case (Strip.deannotateAndDetypeTerm t) of+                Model.TermLambda v0 -> go (Lists.concat2 params [+                  Model.lambdaParameter v0]) (Model.lambdaBody v0)+                _ -> (params, t)+      in (go [] term)++-- | Gather metadata from definitions+gatherMetadata :: S.Set String -> Packaging.ModuleName -> [Packaging.Definition] -> PythonEnvironment.PythonModuleMetadata+gatherMetadata overlaySubs focusNs defs =++      let start = emptyMetadata (Utils.findNamespaces overlaySubs focusNs defs)+          addDef =+                  \meta -> \def -> case def of+                    Packaging.DefinitionTerm v0 ->+                      let term = Packaging.termDefinitionBody v0+                          typ =+                                  Optionals.match (Packaging.termDefinitionSignature v0) (Model.TypeVariable (Model.Name "hydra.core.model.Unit")) (\sig -> Model.typeSchemeBody (Scoping.termSignatureToTypeScheme sig))+                          meta2 = extendMetaForType True True typ meta+                      in (extendMetaForTerm True meta2 term)+                    Packaging.DefinitionType v0 ->+                      let typ = Model.typeSchemeBody (Packaging.typeDefinitionBody v0)+                          meta2 = setMetaUsesName meta True+                      in (Rewriting.foldOverType Coders.TraversalOrderPre (\m -> \t -> extendMetaForType True False t m) meta2 typ)+          result = Lists.foldl addDef start defs+          tvars = PythonEnvironment.pythonModuleMetadataTypeVariables result+          result2 = setMetaUsesCast True (setMetaUsesLruCache True result)+      in (setMetaUsesTypeVar result2 (Logic.not (Sets.isEmpty tvars)))++-- | Create Generic[...] argument expression for class definition+genericArg :: [Model.Name] -> Maybe Syntax.Expression+genericArg tparamList =+    Logic.ifElse (Lists.isEmpty tparamList) Nothing (Just (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Generic"))) (Lists.map (\n -> Syntax.ExpressionSimple (Syntax.Disjunction [+      Syntax.Conjunction [+        Syntax.InversionSimple (Syntax.Comparison {+          Syntax.comparisonLhs = Syntax.BitwiseOr {+            Syntax.bitwiseOrLhs = Nothing,+            Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+              Syntax.bitwiseXorLhs = Nothing,+              Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+                Syntax.bitwiseAndLhs = Nothing,+                Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+                  Syntax.shiftExpressionLhs = Nothing,+                  Syntax.shiftExpressionRhs = Syntax.Sum {+                    Syntax.sumLhs = Nothing,+                    Syntax.sumRhs = Syntax.Term {+                      Syntax.termLhs = Nothing,+                      Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+                        Syntax.powerLhs = Syntax.AwaitPrimary {+                          Syntax.awaitPrimaryAwait = False,+                          Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (PythonNames.encodeTypeVariable n)))},+                        Syntax.powerRhs = Nothing}))}}}}}},+          Syntax.comparisonRhs = []})]])) tparamList))))++-- | Create an initial Python environment for code generation, given the on-disk overlay-existence set (#630) driving emission-time primitive-reference redirects+initialEnvironment :: Util.ModuleNames Syntax.DottedName -> Graph.Graph -> S.Set String -> PythonEnvironment.PythonEnvironment+initialEnvironment namespaces tcontext overlaySubs =+    PythonEnvironment.PythonEnvironment {+      PythonEnvironment.pythonEnvironmentNamespaces = namespaces,+      PythonEnvironment.pythonEnvironmentBoundTypeVariables = ([], Maps.empty),+      PythonEnvironment.pythonEnvironmentGraph = tcontext,+      PythonEnvironment.pythonEnvironmentNullaryBindings = Sets.empty,+      PythonEnvironment.pythonEnvironmentVersion = targetPythonVersion,+      PythonEnvironment.pythonEnvironmentSkipCasts = True,+      PythonEnvironment.pythonEnvironmentInlineVariables = Sets.empty,+      PythonEnvironment.pythonEnvironmentOverlaySubs = overlaySubs}++-- | Create initial empty metadata for a Python module+initialMetadata :: Packaging.ModuleName -> PythonEnvironment.PythonModuleMetadata+initialMetadata ns =++      let dottedNs = PythonNames.encodeNamespace ns+          emptyNs =+                  Util.ModuleNames {+                    Util.moduleNamesFocus = (ns, dottedNs),+                    Util.moduleNamesMapping = Maps.empty}+      in PythonEnvironment.PythonModuleMetadata {+        PythonEnvironment.pythonModuleMetadataNamespaces = emptyNs,+        PythonEnvironment.pythonModuleMetadataTypeVariables = Sets.empty,+        PythonEnvironment.pythonModuleMetadataUsesAnnotated = False,+        PythonEnvironment.pythonModuleMetadataUsesCallable = False,+        PythonEnvironment.pythonModuleMetadataUsesCast = False,+        PythonEnvironment.pythonModuleMetadataUsesLruCache = False,+        PythonEnvironment.pythonModuleMetadataUsesTypeAlias = False,+        PythonEnvironment.pythonModuleMetadataUsesDataclass = False,+        PythonEnvironment.pythonModuleMetadataUsesDecimal = False,+        PythonEnvironment.pythonModuleMetadataUsesEither = False,+        PythonEnvironment.pythonModuleMetadataUsesEnum = False,+        PythonEnvironment.pythonModuleMetadataUsesFrozenDict = False,+        PythonEnvironment.pythonModuleMetadataUsesFrozenList = False,+        PythonEnvironment.pythonModuleMetadataUsesFrozenSet = False,+        PythonEnvironment.pythonModuleMetadataUsesGeneric = False,+        PythonEnvironment.pythonModuleMetadataUsesJust = False,+        PythonEnvironment.pythonModuleMetadataUsesLeft = False,+        PythonEnvironment.pythonModuleMetadataUsesMaybe = False,+        PythonEnvironment.pythonModuleMetadataUsesName = False,+        PythonEnvironment.pythonModuleMetadataUsesNode = False,+        PythonEnvironment.pythonModuleMetadataUsesNothing = False,+        PythonEnvironment.pythonModuleMetadataUsesRight = False,+        PythonEnvironment.pythonModuleMetadataUsesTypeVar = False}++-- | Check if a term is a case statement applied to exactly one argument+isCaseStatementApplication :: Model.Term -> Maybe (Model.Name, (Maybe Model.Term, ([Model.CaseAlternative], Model.Term)))+isCaseStatementApplication term =++      let gathered = Analysis.gatherApplications term+          args = Pairs.first gathered+          body = Pairs.second gathered+      in (Logic.ifElse (Logic.not (Equality.equal (Lists.length args) 1)) Nothing (+        let arg = Optionals.withDefault Model.TermUnit (Lists.head args)+        in case (Strip.deannotateAndDetypeTerm body) of+          Model.TermCases v0 -> Just (Model.caseStatementTypeName v0, (Model.caseStatementDefault v0, (Model.caseStatementCases v0, arg)))+          _ -> Nothing))++-- | Check if union cases are fully covered+isCasesFull :: [t0] -> [t1] -> Bool+isCasesFull rowType cases_ =++      let numCases = Lists.length cases_+          numFields = Lists.length rowType+      in (Logic.not (Ordering.lt numCases numFields))++-- | Check whether a list of definitions contains any type definitions+isTypeModuleCheck :: [Packaging.Definition] -> Bool+isTypeModuleCheck defs =+    Logic.not (Lists.isEmpty (Lists.filter (\d -> case d of+      Packaging.DefinitionType _ -> True+      _ -> False) defs))++-- | Check if a name is a type variable (unqualified - no dots)+isTypeVariableName :: Model.Name -> Bool+isTypeVariableName name = Equality.equal 1 (Lists.length (Strings.splitOn "." (Model.unName name)))++-- | Check if a variant field has unit type+isVariantUnitType :: [Model.FieldType] -> Model.Name -> Bool+isVariantUnitType rowType fieldName =++      let mfield = Lists.find (\ft -> Equality.equal (Model.fieldTypeName ft) fieldName) rowType+      in (Optionals.withDefault False (Optionals.map (\ft -> Predicates.isUnitType (Strip.deannotateType (Model.fieldTypeType ft))) mfield))++-- | Wrap an expression in a .get() method call (for Lazy unwrap at use sites)+lazyDotGet :: Syntax.Expression -> Syntax.Expression+lazyDotGet expr = Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.projectFromExpression expr (Syntax.Name "get"))) []++-- | Per-parameter isLazy flags of a primitive (by name), or empty if not a primitive. Single source of truth for which arguments coders thunk; replaces hard-coded name tables (issue #391).+lazyFlagsForPrimitive :: Graph.Graph -> Model.Name -> [Bool]+lazyFlagsForPrimitive g name =+    Optionals.match (Maps.lookup name (Graph.graphPrimitives g)) [] (\prim ->+      let def0 = Graph.primitiveDefinition prim+          sig = Packaging.primitiveDefinitionSignature def0+      in (Lists.map (\p -> Typing.parameterIsLazy p) (Typing.termSignatureParameters sig)))++-- | Decorator for @lru_cache(1) to memoize zero-argument function results+lruCacheDecorator :: Syntax.NamedExpression+lruCacheDecorator =+    Syntax.NamedExpressionSimple (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "lru_cache"))) [+      pyInt 1])++-- | Create a curried lambda chain from a list of parameter names and a body+makeCurriedLambda :: [Syntax.Name] -> Syntax.Expression -> Syntax.Expression+makeCurriedLambda params body =+    Lists.foldl (\acc -> \p -> Syntax.ExpressionLambda (Syntax.Lambda {+      Syntax.lambdaParams = Syntax.LambdaParameters {+        Syntax.lambdaParametersSlashNoDefault = Nothing,+        Syntax.lambdaParametersParamNoDefault = [+          Syntax.LambdaParamNoDefault p],+        Syntax.lambdaParametersParamWithDefault = [],+        Syntax.lambdaParametersStarEtc = Nothing},+      Syntax.lambdaBody = acc})) body (Lists.reverse params)++-- | Wrap an expression in Lazy(lambda: ...) for one-shot lazy memoization+makeLazy :: Syntax.Expression -> Syntax.Expression+makeLazy pbody =+    Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Lazy"))) [+      wrapInNullaryLambda pbody]++-- | Constructor for PyGraph record+makePyGraph :: Graph.Graph -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PyGraph+makePyGraph g m =+    PythonEnvironment.PyGraph {+      PythonEnvironment.pyGraphGraph = g,+      PythonEnvironment.pyGraphMetadata = m}++-- | Wrap a bare reference to a polymorphic function in an uncurried lambda+makeSimpleLambda :: Int -> Syntax.Expression -> Syntax.Expression+makeSimpleLambda arity lhs =++      let args = Lists.map (\i -> Syntax.Name (Strings.concat2 "x" (Literals.printInt32 i))) (Math.range 1 (Math.add arity 1))+      in (Logic.ifElse (Equality.equal arity 0) lhs (Syntax.ExpressionLambda (Syntax.Lambda {+        Syntax.lambdaParams = Syntax.LambdaParameters {+          Syntax.lambdaParametersSlashNoDefault = Nothing,+          Syntax.lambdaParametersParamNoDefault = (Lists.map (\a -> Syntax.LambdaParamNoDefault a) args),+          Syntax.lambdaParametersParamWithDefault = [],+          Syntax.lambdaParametersStarEtc = Nothing},+        Syntax.lambdaBody = (Utils.functionCall (Utils.pyExpressionToPyPrimary lhs) (Lists.map (\a -> Syntax.ExpressionSimple (Syntax.Disjunction [+          Syntax.Conjunction [+            Syntax.InversionSimple (Syntax.Comparison {+              Syntax.comparisonLhs = Syntax.BitwiseOr {+                Syntax.bitwiseOrLhs = Nothing,+                Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+                  Syntax.bitwiseXorLhs = Nothing,+                  Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+                    Syntax.bitwiseAndLhs = Nothing,+                    Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+                      Syntax.shiftExpressionLhs = Nothing,+                      Syntax.shiftExpressionRhs = Syntax.Sum {+                        Syntax.sumLhs = Nothing,+                        Syntax.sumRhs = Syntax.Term {+                          Syntax.termLhs = Nothing,+                          Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+                            Syntax.powerLhs = Syntax.AwaitPrimary {+                              Syntax.awaitPrimaryAwait = False,+                              Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName a))},+                            Syntax.powerRhs = Nothing}))}}}}}},+              Syntax.comparisonRhs = []})]])) args))})))++-- | Create a thunk (zero-argument lambda) wrapped with lru_cache(1) for memoization+makeThunk :: Syntax.Expression -> Syntax.Expression+makeThunk pbody =+    Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "lru_cache"))) [+      pyInt 1])) [+      wrapInNullaryLambda pbody]++-- | Create an uncurried lambda with multiple parameters+makeUncurriedLambda :: [Syntax.Name] -> Syntax.Expression -> Syntax.Expression+makeUncurriedLambda params body =+    Syntax.ExpressionLambda (Syntax.Lambda {+      Syntax.lambdaParams = Syntax.LambdaParameters {+        Syntax.lambdaParametersSlashNoDefault = Nothing,+        Syntax.lambdaParametersParamNoDefault = (Lists.map (\p -> Syntax.LambdaParamNoDefault p) params),+        Syntax.lambdaParametersParamWithDefault = [],+        Syntax.lambdaParametersStarEtc = Nothing},+      Syntax.lambdaBody = body})++-- | Generate domain import statements from namespace mappings+moduleDomainImports :: Util.ModuleNames Syntax.DottedName -> [Syntax.ImportStatement]+moduleDomainImports namespaces =++      let names = Lists.sort (Maps.elems (Util.moduleNamesMapping namespaces))+      in (Lists.map (\ns -> Syntax.ImportStatementName (Syntax.ImportName [+        Syntax.DottedAsName {+          Syntax.dottedAsNameName = ns,+          Syntax.dottedAsNameAs = Nothing}])) names)++-- | Generate all import statements for a Python module+moduleImports :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata -> [Syntax.Statement]+moduleImports namespaces meta =+    Lists.map (\imp -> Utils.pySimpleStatementToPyStatement (Syntax.SimpleStatementImport imp)) (Lists.concat [+      moduleStandardImports meta,+      (moduleDomainImports namespaces)])++-- | Generate standard import statements based on module metadata+moduleStandardImports :: PythonEnvironment.PythonModuleMetadata -> [Syntax.ImportStatement]+moduleStandardImports meta =++      let pairs =+              [+                ("__future__", [+                  condImportSymbol "annotations" PythonNames.useFutureAnnotations]),+                (+                  "collections.abc",+                  [+                    condImportSymbol "Callable" (PythonEnvironment.pythonModuleMetadataUsesCallable meta),+                    (condImportSymbol "Mapping" (PythonEnvironment.pythonModuleMetadataUsesFrozenDict meta)),+                    (condImportSymbol "Sequence" (PythonEnvironment.pythonModuleMetadataUsesFrozenList meta)),+                    (condImportSymbol "Set" (PythonEnvironment.pythonModuleMetadataUsesFrozenSet meta))]),+                (+                  "dataclasses",+                  [+                    condImportSymbol "dataclass" (PythonEnvironment.pythonModuleMetadataUsesDataclass meta),+                    (condImportSymbol "replace" (PythonEnvironment.pythonModuleMetadataUsesDataclass meta))]),+                ("decimal", [+                  condImportSymbol "Decimal" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta)]),+                ("enum", [+                  condImportSymbol "Enum" (PythonEnvironment.pythonModuleMetadataUsesEnum meta)]),+                ("functools", [+                  condImportSymbol "lru_cache" (PythonEnvironment.pythonModuleMetadataUsesLruCache meta)]),+                (+                  "hydra.core.overlay.python.dsl.python",+                  [+                    condImportSymbol "Either" (PythonEnvironment.pythonModuleMetadataUsesEither meta),+                    (condImportSymbol "Given" (PythonEnvironment.pythonModuleMetadataUsesJust meta)),+                    (condImportSymbol "Left" (PythonEnvironment.pythonModuleMetadataUsesLeft meta)),+                    (condImportSymbol "Node" (PythonEnvironment.pythonModuleMetadataUsesNode meta)),+                    (condImportSymbol "None_" (PythonEnvironment.pythonModuleMetadataUsesNothing meta)),+                    (condImportSymbol "Optional" (PythonEnvironment.pythonModuleMetadataUsesMaybe meta)),+                    (condImportSymbol "Right" (PythonEnvironment.pythonModuleMetadataUsesRight meta))]),+                (+                  "hydra.core.overlay.python.util",+                  [+                    condImportSymbol "ConsList" (PythonEnvironment.pythonModuleMetadataUsesFrozenList meta),+                    (condImportSymbol "Lazy" True),+                    (condImportSymbol "PersistentMap" (PythonEnvironment.pythonModuleMetadataUsesFrozenDict meta)),+                    (condImportSymbol "PersistentSet" (PythonEnvironment.pythonModuleMetadataUsesFrozenSet meta))]),+                (+                  "hydra.core.overlay.python.util._decimal",+                  [+                    condImportSymbol "decimal_node_eq" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta),+                    (condImportSymbol "decimal_node_hash" (PythonEnvironment.pythonModuleMetadataUsesDecimal meta))]),+                (+                  "typing",+                  [+                    condImportSymbol "Annotated" (PythonEnvironment.pythonModuleMetadataUsesAnnotated meta),+                    (condImportSymbol "Generic" (PythonEnvironment.pythonModuleMetadataUsesGeneric meta)),+                    (condImportSymbol "TypeAlias" (PythonEnvironment.pythonModuleMetadataUsesTypeAlias meta)),+                    (condImportSymbol "TypeVar" (PythonEnvironment.pythonModuleMetadataUsesTypeVar meta)),+                    (condImportSymbol "cast" (PythonEnvironment.pythonModuleMetadataUsesCast meta))])]+          simplified =+                  Optionals.givens (Lists.map (\p ->+                    let modName = Pairs.first p+                        symbols = Optionals.givens (Pairs.second p)+                    in (Logic.ifElse (Lists.isEmpty symbols) Nothing (Just (modName, symbols)))) pairs)+      in (Lists.map (\p -> standardImportStatement (Pairs.first p) (Pairs.second p)) simplified)++-- | Convert a Hydra module to Python source files+moduleToPython :: S.Set String -> Packaging.Module -> [Packaging.Definition] -> Typing.InferenceContext -> Graph.Graph -> Either Errors.Error (M.Map String String)+moduleToPython overlaySubs mod defs cx g =+    Eithers.bind (encodePythonModule overlaySubs cx g mod defs) (\file ->+      let s = Serialization.printExpr (Serialization.parenthesize (Serde.moduleToExpr file))+          path = CoreNames.moduleNameToFilePath Util.CaseConventionLowerSnake (File.FileExtension "py") (Packaging.moduleName mod)+      in (Right (Maps.singleton path s)))++-- | Accessor for the graph field of PyGraph+pyGraphGraph :: PythonEnvironment.PyGraph -> Graph.Graph+pyGraphGraph pyg = PythonEnvironment.pyGraphGraph pyg++-- | Accessor for the metadata field of PyGraph+pyGraphMetadata :: PythonEnvironment.PyGraph -> PythonEnvironment.PythonModuleMetadata+pyGraphMetadata pyg = PythonEnvironment.pyGraphMetadata pyg++-- | Create integer literal expression+pyInt :: Integer -> Syntax.Expression+pyInt n = Utils.pyAtomToPyExpression (Syntax.AtomNumber (Syntax.NumberInteger n))++-- | Like bindingMetadata, but only for bindings that will actually be thunked+pythonBindingMetadata :: Graph.Graph -> Model.Binding -> Maybe Model.Term+pythonBindingMetadata g b =+    Logic.ifElse (shouldThunkBinding g b) (Logic.ifElse (Predicates.isComplexBinding g b) (Just (Model.TermLiteral (Model.LiteralBoolean True))) Nothing) Nothing++-- | Get the Graph from a PythonEnvironment+pythonEnvironmentGetGraph :: PythonEnvironment.PythonEnvironment -> Graph.Graph+pythonEnvironmentGetGraph env = PythonEnvironment.pythonEnvironmentGraph env++-- | Set the Graph in a PythonEnvironment+pythonEnvironmentSetGraph :: Graph.Graph -> PythonEnvironment.PythonEnvironment -> PythonEnvironment.PythonEnvironment+pythonEnvironmentSetGraph tc env =+    PythonEnvironment.PythonEnvironment {+      PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces env),+      PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables env),+      PythonEnvironment.pythonEnvironmentGraph = tc,+      PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings env),+      PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion env),+      PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts env),+      PythonEnvironment.pythonEnvironmentInlineVariables = (PythonEnvironment.pythonEnvironmentInlineVariables env),+      PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs env)}++-- | Build a fluent builder (factory + nested Builder dataclass) for a record+recordBuilderClass :: PythonEnvironment.PythonEnvironment -> Model.Name -> [Model.FieldType] -> Maybe Syntax.Args -> Either t0 [Syntax.Statement]+recordBuilderClass env name rowType recordArgs =+    Eithers.bind (Eithers.mapList (\ft -> Eithers.map (\pyType -> Utils.pyAssignmentToPyStatement (Syntax.AssignmentTyped (Syntax.TypedAssignment {+      Syntax.typedAssignmentLhs = (Syntax.SingleTargetName (Syntax.Name (Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Model.fieldTypeName ft)))))),+      Syntax.typedAssignmentType = pyType,+      Syntax.typedAssignmentRhs = (Just (Syntax.AnnotatedRhsStar [+        Syntax.StarExpressionSimple (Utils.pyNameToPyExpression Utils.pyNone)]))}))) (encodeType env (Model.fieldTypeType ft))) rowType) (\builderFields ->+      let setters = Lists.map (\ft -> recordBuilderSetter env ft) rowType+          pyName = PythonNames.encodeName False Util.CaseConventionPascal env name+          buildKwargs =+                  Lists.map (\ft -> Syntax.KwargOrStarredKwarg (Syntax.Kwarg {+                    Syntax.kwargName = (Syntax.Name (Syntax.unName (PythonNames.encodeFieldName env (Model.fieldTypeName ft)))),+                    Syntax.kwargValue = (Utils.projectFromExpression (Utils.pyNameToPyExpression (Syntax.Name "self")) (Syntax.Name (Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Model.fieldTypeName ft))))))})) rowType+          ctorCall =+                  Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary pyName) (Syntax.PrimaryRhsCall (Syntax.Args {+                    Syntax.argsPositional = [],+                    Syntax.argsKwargOrStarred = buildKwargs,+                    Syntax.argsKwargOrDoubleStarred = []})))+          buildMethod =+                  Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+                    Syntax.functionDefinitionDecorators = Nothing,+                    Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+                      Syntax.functionDefRawAsync = False,+                      Syntax.functionDefRawName = (Syntax.Name "build"),+                      Syntax.functionDefRawTypeParams = [],+                      Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+                        Syntax.paramNoDefaultParametersParamNoDefault = [+                          Syntax.ParamNoDefault {+                            Syntax.paramNoDefaultParam = Syntax.Param {+                              Syntax.paramName = (Syntax.Name "self"),+                              Syntax.paramAnnotation = Nothing},+                            Syntax.paramNoDefaultTypeComment = Nothing}],+                        Syntax.paramNoDefaultParametersParamWithDefault = [],+                        Syntax.paramNoDefaultParametersStarEtc = Nothing}))),+                      Syntax.functionDefRawReturnType = Nothing,+                      Syntax.functionDefRawFuncTypeComment = Nothing,+                      Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [+                        [+                          Utils.returnSingle ctorCall]])}}))+          builderBody =+                  Utils.indentedBlock Nothing [+                    Lists.concat [+                      builderFields,+                      setters,+                      [+                        buildMethod]]]+          builderDecs = Just (Syntax.Decorators [+                dataclassDecorator])+          builderClass =+                  Utils.pyClassDefinitionToPyStatement (Syntax.ClassDefinition {+                    Syntax.classDefinitionDecorators = builderDecs,+                    Syntax.classDefinitionName = (Syntax.Name "Builder"),+                    Syntax.classDefinitionTypeParams = [],+                    Syntax.classDefinitionArguments = recordArgs,+                    Syntax.classDefinitionBody = builderBody})+          qualifiedBuilderName = Syntax.Name (Strings.concat2 (Syntax.unName pyName) ".Builder")+          builderCall = Utils.functionCall (Utils.pyNameToPyPrimary qualifiedBuilderName) []+          factoryMethod =+                  Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+                    Syntax.functionDefinitionDecorators = (Just (Syntax.Decorators [+                      Syntax.NamedExpressionSimple (Utils.pyNameToPyExpression (Syntax.Name "staticmethod"))])),+                    Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+                      Syntax.functionDefRawAsync = False,+                      Syntax.functionDefRawName = (Syntax.Name "builder"),+                      Syntax.functionDefRawTypeParams = [],+                      Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+                        Syntax.paramNoDefaultParametersParamNoDefault = [],+                        Syntax.paramNoDefaultParametersParamWithDefault = [],+                        Syntax.paramNoDefaultParametersStarEtc = Nothing}))),+                      Syntax.functionDefRawReturnType = Nothing,+                      Syntax.functionDefRawFuncTypeComment = Nothing,+                      Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [+                        [+                          Utils.returnSingle builderCall]])}}))+      in (Right [+        factoryMethod,+        builderClass]))++-- | Build a fluent setter for the nested Builder of a record+recordBuilderSetter :: PythonEnvironment.PythonEnvironment -> Model.FieldType -> Syntax.Statement+recordBuilderSetter env fieldType =++      let fname = Model.fieldTypeName fieldType+          setterName = builderSetterName env fname+          paramName = Syntax.Name setterName+          storageName = Strings.concat2 "_" (Syntax.unName (PythonNames.encodeFieldName env (Model.fieldTypeName fieldType)))+          kwarg =+                  Syntax.KwargOrStarredKwarg (Syntax.Kwarg {+                    Syntax.kwargName = (Syntax.Name storageName),+                    Syntax.kwargValue = (Utils.pyNameToPyExpression paramName)})+      in (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+        Syntax.functionDefinitionDecorators = Nothing,+        Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+          Syntax.functionDefRawAsync = False,+          Syntax.functionDefRawName = (Syntax.Name setterName),+          Syntax.functionDefRawTypeParams = [],+          Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+            Syntax.paramNoDefaultParametersParamNoDefault = [+              Syntax.ParamNoDefault {+                Syntax.paramNoDefaultParam = Syntax.Param {+                  Syntax.paramName = (Syntax.Name "self"),+                  Syntax.paramAnnotation = Nothing},+                Syntax.paramNoDefaultTypeComment = Nothing},+              Syntax.ParamNoDefault {+                Syntax.paramNoDefaultParam = Syntax.Param {+                  Syntax.paramName = paramName,+                  Syntax.paramAnnotation = Nothing},+                Syntax.paramNoDefaultTypeComment = Nothing}],+            Syntax.paramNoDefaultParametersParamWithDefault = [],+            Syntax.paramNoDefaultParametersStarEtc = Nothing}))),+          Syntax.functionDefRawReturnType = Nothing,+          Syntax.functionDefRawFuncTypeComment = Nothing,+          Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [+            [+              Utils.returnSingle (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary (Syntax.Name "replace")) (Syntax.PrimaryRhsCall (Syntax.Args {+                Syntax.argsPositional = [+                  Syntax.PosArgExpression (Utils.pyNameToPyExpression (Syntax.Name "self"))],+                Syntax.argsKwargOrStarred = [+                  kwarg],+                Syntax.argsKwargOrDoubleStarred = []}))))]])}})))++-- | Build a per-field copy-update method (with_<field>) for a record+recordWithMethod :: PythonEnvironment.PythonEnvironment -> Model.FieldType -> Syntax.Statement+recordWithMethod env fieldType =++      let fname = Model.fieldTypeName fieldType+          snake = Syntax.unName (PythonNames.encodeFieldName env fname)+          methodName = Strings.concat2 "with_" snake+          kwargKey = Syntax.Name snake+          paramSnake = Logic.ifElse (Equality.equal snake "self") "_self" snake+          paramName = Syntax.Name paramSnake+          kwarg =+                  Syntax.KwargOrStarredKwarg (Syntax.Kwarg {+                    Syntax.kwargName = kwargKey,+                    Syntax.kwargValue = (Utils.pyNameToPyExpression paramName)})+      in (Syntax.StatementCompound (Syntax.CompoundStatementFunction (Syntax.FunctionDefinition {+        Syntax.functionDefinitionDecorators = Nothing,+        Syntax.functionDefinitionRaw = Syntax.FunctionDefRaw {+          Syntax.functionDefRawAsync = False,+          Syntax.functionDefRawName = (Syntax.Name methodName),+          Syntax.functionDefRawTypeParams = [],+          Syntax.functionDefRawParams = (Just (Syntax.ParametersParamNoDefault (Syntax.ParamNoDefaultParameters {+            Syntax.paramNoDefaultParametersParamNoDefault = [+              Syntax.ParamNoDefault {+                Syntax.paramNoDefaultParam = Syntax.Param {+                  Syntax.paramName = (Syntax.Name "self"),+                  Syntax.paramAnnotation = Nothing},+                Syntax.paramNoDefaultTypeComment = Nothing},+              Syntax.ParamNoDefault {+                Syntax.paramNoDefaultParam = Syntax.Param {+                  Syntax.paramName = paramName,+                  Syntax.paramAnnotation = Nothing},+                Syntax.paramNoDefaultTypeComment = Nothing}],+            Syntax.paramNoDefaultParametersParamWithDefault = [],+            Syntax.paramNoDefaultParametersStarEtc = Nothing}))),+          Syntax.functionDefRawReturnType = Nothing,+          Syntax.functionDefRawFuncTypeComment = Nothing,+          Syntax.functionDefRawBlock = (Utils.indentedBlock Nothing [+            [+              Utils.returnSingle (Utils.pyPrimaryToPyExpression (Utils.primaryWithRhs (Utils.pyNameToPyPrimary (Syntax.Name "replace")) (Syntax.PrimaryRhsCall (Syntax.Args {+                Syntax.argsPositional = [+                  Syntax.PosArgExpression (Utils.pyNameToPyExpression (Syntax.Name "self"))],+                Syntax.argsKwargOrStarred = [+                  kwarg],+                Syntax.argsKwargOrDoubleStarred = []}))))]])}})))++setMetaNamespaces :: Util.ModuleNames Syntax.DottedName -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+setMetaNamespaces ns m =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = ns,+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaTypeVariables :: PythonEnvironment.PythonModuleMetadata -> S.Set Model.Name -> PythonEnvironment.PythonModuleMetadata+setMetaTypeVariables m tvars =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = tvars,+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesAnnotated :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesAnnotated m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = b,+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesCallable :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesCallable m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = b,+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesCast :: Bool -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+setMetaUsesCast b m =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = b,+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesDataclass :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesDataclass m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = b,+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesDecimal :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesDecimal m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = b,+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesEither :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesEither m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = b,+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesEnum :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesEnum m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = b,+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesFrozenDict :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesFrozenDict m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = b,+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesFrozenList :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesFrozenList m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = b,+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesFrozenSet :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesFrozenSet m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = b,+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesGeneric :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesGeneric m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = b,+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesJust :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesJust m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = b,+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesLeft :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesLeft m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = b,+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesLruCache :: Bool -> PythonEnvironment.PythonModuleMetadata -> PythonEnvironment.PythonModuleMetadata+setMetaUsesLruCache b m =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = b,+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesMaybe :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesMaybe m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = b,+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesName :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesName m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = b,+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesNode :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesNode m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = b,+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesNothing :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesNothing m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = b,+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesRight :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesRight m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = b,+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesTypeAlias :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesTypeAlias m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = b,+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = (PythonEnvironment.pythonModuleMetadataUsesTypeVar m)}++setMetaUsesTypeVar :: PythonEnvironment.PythonModuleMetadata -> Bool -> PythonEnvironment.PythonModuleMetadata+setMetaUsesTypeVar m b =+    PythonEnvironment.PythonModuleMetadata {+      PythonEnvironment.pythonModuleMetadataNamespaces = (PythonEnvironment.pythonModuleMetadataNamespaces m),+      PythonEnvironment.pythonModuleMetadataTypeVariables = (PythonEnvironment.pythonModuleMetadataTypeVariables m),+      PythonEnvironment.pythonModuleMetadataUsesAnnotated = (PythonEnvironment.pythonModuleMetadataUsesAnnotated m),+      PythonEnvironment.pythonModuleMetadataUsesCallable = (PythonEnvironment.pythonModuleMetadataUsesCallable m),+      PythonEnvironment.pythonModuleMetadataUsesCast = (PythonEnvironment.pythonModuleMetadataUsesCast m),+      PythonEnvironment.pythonModuleMetadataUsesLruCache = (PythonEnvironment.pythonModuleMetadataUsesLruCache m),+      PythonEnvironment.pythonModuleMetadataUsesTypeAlias = (PythonEnvironment.pythonModuleMetadataUsesTypeAlias m),+      PythonEnvironment.pythonModuleMetadataUsesDataclass = (PythonEnvironment.pythonModuleMetadataUsesDataclass m),+      PythonEnvironment.pythonModuleMetadataUsesDecimal = (PythonEnvironment.pythonModuleMetadataUsesDecimal m),+      PythonEnvironment.pythonModuleMetadataUsesEither = (PythonEnvironment.pythonModuleMetadataUsesEither m),+      PythonEnvironment.pythonModuleMetadataUsesEnum = (PythonEnvironment.pythonModuleMetadataUsesEnum m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenDict = (PythonEnvironment.pythonModuleMetadataUsesFrozenDict m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenList = (PythonEnvironment.pythonModuleMetadataUsesFrozenList m),+      PythonEnvironment.pythonModuleMetadataUsesFrozenSet = (PythonEnvironment.pythonModuleMetadataUsesFrozenSet m),+      PythonEnvironment.pythonModuleMetadataUsesGeneric = (PythonEnvironment.pythonModuleMetadataUsesGeneric m),+      PythonEnvironment.pythonModuleMetadataUsesJust = (PythonEnvironment.pythonModuleMetadataUsesJust m),+      PythonEnvironment.pythonModuleMetadataUsesLeft = (PythonEnvironment.pythonModuleMetadataUsesLeft m),+      PythonEnvironment.pythonModuleMetadataUsesMaybe = (PythonEnvironment.pythonModuleMetadataUsesMaybe m),+      PythonEnvironment.pythonModuleMetadataUsesName = (PythonEnvironment.pythonModuleMetadataUsesName m),+      PythonEnvironment.pythonModuleMetadataUsesNode = (PythonEnvironment.pythonModuleMetadataUsesNode m),+      PythonEnvironment.pythonModuleMetadataUsesNothing = (PythonEnvironment.pythonModuleMetadataUsesNothing m),+      PythonEnvironment.pythonModuleMetadataUsesRight = (PythonEnvironment.pythonModuleMetadataUsesRight m),+      PythonEnvironment.pythonModuleMetadataUsesTypeVar = b}++-- | Determine if a binding should be thunked based on its complexity and triviality+shouldThunkBinding :: Graph.Graph -> Model.Binding -> Bool+shouldThunkBinding g b =+    Logic.and (Predicates.isComplexBinding g b) (Logic.not (Predicates.isTrivialTerm (Model.bindingTerm b)))++-- | Generate a single from-import statement+standardImportStatement :: String -> [String] -> Syntax.ImportStatement+standardImportStatement modName symbols =+    Syntax.ImportStatementFrom (Syntax.ImportFrom {+      Syntax.importFromPrefixes = [],+      Syntax.importFromDottedName = (Just (Syntax.DottedName [+        Syntax.Name modName])),+      Syntax.importFromTargets = (Syntax.ImportFromTargetsSimple (Lists.map (\s -> Syntax.ImportFromAsName {+        Syntax.importFromAsNameName = (Syntax.Name s),+        Syntax.importFromAsNameAs = Nothing}) symbols))})++-- | The target Python version for code generation+targetPythonVersion :: PythonEnvironment.PythonVersion+targetPythonVersion = Utils.targetPythonVersion++-- | Calculate term arity with proper primitive handling+termArityWithPrimitives :: Graph.Graph -> Model.Term -> Int+termArityWithPrimitives graph term =+    case (Strip.deannotateAndDetypeTerm term) of+      Model.TermApplication v0 -> Ordering.max 0 (Math.sub (termArityWithPrimitives graph (Model.applicationFunction v0)) 1)+      Model.TermLambda v0 -> Math.add 1 (termArityWithPrimitives graph (Model.lambdaBody v0))+      Model.TermProject _ -> 1+      Model.TermUnwrap _ -> 1+      Model.TermCases _ -> 1+      Model.TermVariable v0 -> Optionals.match (Lexical.lookupBinding graph v0) 0 (\el -> Optionals.match (Model.bindingTypeScheme el) (Arity.termArity (Model.bindingTerm el)) (\ts -> Arity.typeSchemeArity ts))+      _ -> 0++-- | Create a TypeVar assignment statement for a type variable name+tvarStatement :: Syntax.Name -> Syntax.Statement+tvarStatement name =+    Utils.assignmentStatement name (Utils.functionCall (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "TypeVar"))) [+      Utils.doubleQuotedString (Syntax.unName name)])++-- | Version-aware type alias statement generation+typeAliasStatementFor :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> [Syntax.TypeParameter] -> Maybe String -> Syntax.Expression -> Syntax.Statement+typeAliasStatementFor env name tparams mcomment tyexpr =+    Logic.ifElse (useInlineTypeParamsFor (PythonEnvironment.pythonEnvironmentVersion env)) (Utils.typeAliasStatement name tparams mcomment tyexpr) (Utils.typeAliasStatement310 name tparams mcomment tyexpr)++-- | Version-aware union type statement generation+unionTypeStatementsFor :: PythonEnvironment.PythonEnvironment -> Syntax.Name -> [Syntax.TypeParameter] -> Maybe String -> Syntax.Expression -> [Syntax.Statement] -> [Syntax.Statement]+unionTypeStatementsFor env name tparams mcomment tyexpr extraStmts =+    Logic.ifElse (useInlineTypeParamsFor (PythonEnvironment.pythonEnvironmentVersion env)) (Lists.concat2 [+      Utils.typeAliasStatement name tparams mcomment tyexpr] extraStmts) (Utils.unionTypeClassStatements310 name mcomment tyexpr extraStmts)++-- | Create an expression that calls hydra.core.overlay.python.dsl.python.unsupported(message) at runtime+unsupportedExpression :: String -> Syntax.Expression+unsupportedExpression msg =+    Utils.functionCall (Utils.pyExpressionToPyPrimary (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Utils.projectFromExpression (Syntax.ExpressionSimple (Syntax.Disjunction [+      Syntax.Conjunction [+        Syntax.InversionSimple (Syntax.Comparison {+          Syntax.comparisonLhs = Syntax.BitwiseOr {+            Syntax.bitwiseOrLhs = Nothing,+            Syntax.bitwiseOrRhs = Syntax.BitwiseXor {+              Syntax.bitwiseXorLhs = Nothing,+              Syntax.bitwiseXorRhs = Syntax.BitwiseAnd {+                Syntax.bitwiseAndLhs = Nothing,+                Syntax.bitwiseAndRhs = Syntax.ShiftExpression {+                  Syntax.shiftExpressionLhs = Nothing,+                  Syntax.shiftExpressionRhs = Syntax.Sum {+                    Syntax.sumLhs = Nothing,+                    Syntax.sumRhs = Syntax.Term {+                      Syntax.termLhs = Nothing,+                      Syntax.termRhs = (Syntax.FactorSimple (Syntax.Power {+                        Syntax.powerLhs = Syntax.AwaitPrimary {+                          Syntax.awaitPrimaryAwait = False,+                          Syntax.awaitPrimaryPrimary = (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "hydra")))},+                        Syntax.powerRhs = Nothing}))}}}}}},+          Syntax.comparisonRhs = []})]])) (Syntax.Name "core")) (Syntax.Name "overlay")) (Syntax.Name "python")) (Syntax.Name "dsl")) (Syntax.Name "python")) (Syntax.Name "unsupported"))) [+      Utils.stringToPyExpression Syntax.QuoteStyleDouble msg]++-- | Legacy constant for backward compatibility; use useInlineTypeParamsFor in new code+useInlineTypeParams :: Bool+useInlineTypeParams = useInlineTypeParamsFor Utils.targetPythonVersion++-- | Version-aware inline type parameters+useInlineTypeParamsFor :: PythonEnvironment.PythonVersion -> Bool+useInlineTypeParamsFor version = Equality.equal version PythonEnvironment.PythonVersionPython312++-- | Create args for variant (Node[type], Generic[tparams])+variantArgs :: Syntax.Expression -> [Model.Name] -> Syntax.Args+variantArgs ptype tparams =+    Utils.pyExpressionsToPyArgs (Optionals.givens [+      Just (Utils.pyPrimaryToPyExpression (Utils.primaryWithExpressionSlices (Syntax.PrimarySimple (Syntax.AtomName (Syntax.Name "Node"))) [+        ptype])),+      (genericArg tparams)])++-- | Create a ClosedPattern for a variant based on its characteristics+variantClosedPattern :: PythonEnvironment.PythonEnvironment -> Model.Name -> Model.Name -> Syntax.Name -> t0 -> Bool -> Model.Name -> Bool -> Syntax.ClosedPattern+variantClosedPattern env typeName fieldName pyVariantName rowType isEnum varName shouldCapture =+    Logic.ifElse isEnum (enumVariantPattern env typeName fieldName) (Logic.ifElse (Logic.not shouldCapture) (classVariantPatternUnit pyVariantName) (classVariantPatternWithCapture env pyVariantName varName))++-- | Create a wildcard case block with a given body statement+wildcardCaseBlock :: Syntax.Statement -> Syntax.CaseBlock+wildcardCaseBlock stmt =+    Syntax.CaseBlock {+      Syntax.caseBlockPatterns = (Utils.pyClosedPatternToPyPatterns Syntax.ClosedPatternWildcard),+      Syntax.caseBlockGuard = Nothing,+      Syntax.caseBlockBody = (Utils.indentedBlock Nothing [+        [+          stmt]])}++-- | Execute a computation with definitions in scope+withDefinitions :: PythonEnvironment.PythonEnvironment -> [Packaging.Definition] -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withDefinitions env defs body =++      let bindings =+              Optionals.givens (Lists.map (\def_ -> case def_ of+                Packaging.DefinitionTerm v0 -> Just (Model.Binding {+                  Model.bindingName = (Packaging.termDefinitionName v0),+                  Model.bindingTerm = (Packaging.termDefinitionBody v0),+                  Model.bindingTypeScheme = (Optionals.map (\sig -> Scoping.termSignatureToTypeScheme sig) (Packaging.termDefinitionSignature v0))})+                Packaging.DefinitionType _ -> Nothing+                _ -> Nothing) defs)+          dummyLet =+                  Model.Let {+                    Model.letBindings = bindings,+                    Model.letBody = (Model.TermLiteral (Model.LiteralString "dummy"))}+      in (withLet env dummyLet body)++-- | Execute a computation with lambda context (adds lambda parameter to Graph)+withLambda :: PythonEnvironment.PythonEnvironment -> Model.Lambda -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withLambda = CoreEnvironment.withLambdaContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph++-- | Execute a computation with let context (adds let bindings to Graph)+withLet :: PythonEnvironment.PythonEnvironment -> Model.Let -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withLet = CoreEnvironment.withLetContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph pythonBindingMetadata++-- | Execute a computation with inline let context (for walrus operators)+withLetInline :: PythonEnvironment.PythonEnvironment -> Model.Let -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withLetInline env lt body =++      let bindingNames = Lists.map (\b -> Model.bindingName b) (Model.letBindings lt)+          inlineVars = Sets.fromList bindingNames+          noMetadata = \tc -> \b -> Nothing+      in (CoreEnvironment.withLetContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph noMetadata env lt (\innerEnv ->+        let updatedEnv =+                PythonEnvironment.PythonEnvironment {+                  PythonEnvironment.pythonEnvironmentNamespaces = (PythonEnvironment.pythonEnvironmentNamespaces innerEnv),+                  PythonEnvironment.pythonEnvironmentBoundTypeVariables = (PythonEnvironment.pythonEnvironmentBoundTypeVariables innerEnv),+                  PythonEnvironment.pythonEnvironmentGraph = (PythonEnvironment.pythonEnvironmentGraph innerEnv),+                  PythonEnvironment.pythonEnvironmentNullaryBindings = (PythonEnvironment.pythonEnvironmentNullaryBindings innerEnv),+                  PythonEnvironment.pythonEnvironmentVersion = (PythonEnvironment.pythonEnvironmentVersion innerEnv),+                  PythonEnvironment.pythonEnvironmentSkipCasts = (PythonEnvironment.pythonEnvironmentSkipCasts innerEnv),+                  PythonEnvironment.pythonEnvironmentInlineVariables = (Sets.union inlineVars (PythonEnvironment.pythonEnvironmentInlineVariables innerEnv)),+                  PythonEnvironment.pythonEnvironmentOverlaySubs = (PythonEnvironment.pythonEnvironmentOverlaySubs innerEnv)}+        in (body updatedEnv)))++-- | Execute a computation with type lambda context+withTypeLambda :: PythonEnvironment.PythonEnvironment -> Model.TypeLambda -> (PythonEnvironment.PythonEnvironment -> t0) -> t0+withTypeLambda = CoreEnvironment.withTypeLambdaContext pythonEnvironmentGetGraph pythonEnvironmentSetGraph++-- | Wrap a Python expression in a nullary lambda (thunk) for lazy evaluation+wrapInNullaryLambda :: Syntax.Expression -> Syntax.Expression+wrapInNullaryLambda expr =+    Syntax.ExpressionLambda (Syntax.Lambda {+      Syntax.lambdaParams = Syntax.LambdaParameters {+        Syntax.lambdaParametersSlashNoDefault = Nothing,+        Syntax.lambdaParametersParamNoDefault = [],+        Syntax.lambdaParametersParamWithDefault = [],+        Syntax.lambdaParametersStarEtc = Nothing},+      Syntax.lambdaBody = expr})++-- | Wrap lazy-flagged arguments of a primitive call in nullary lambdas, per isLazy metadata (issue #391)+wrapLazyArguments :: Graph.Graph -> Model.Name -> [Syntax.Expression] -> [Syntax.Expression] wrapLazyArguments g name args =        let lazyFlags = lazyFlagsForPrimitive g name
+ src/main/haskell/Hydra/Python/Dsl/Environment.hs view
@@ -0,0 +1,4749 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.python.environment++module Hydra.Python.Dsl.Environment where++import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Python.Dsl.Syntax as DslSyntax+import qualified Hydra.Python.Environment as Environment+import qualified Hydra.Python.Syntax as Syntax+import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void+import qualified Data.Map as M+import qualified Data.Set as S++-- | DSL constructor for hydra.python.environment.PyGraph+pyGraph :: Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Environment.PyGraph+pyGraph graph metadata =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PyGraph"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Typed.unTypedTerm graph)},+        Model.Field {+          Model.fieldName = (Model.Name "metadata"),+          Model.fieldTerm = (Typed.unTypedTerm metadata)}]}))++-- | DSL accessor for the graph field of hydra.python.environment.PyGraph+pyGraphGraph :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Graph.Graph+pyGraphGraph x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PyGraph"),+        Model.projectionFieldName = (Model.Name "graph")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the metadata field of hydra.python.environment.PyGraph+pyGraphMetadata :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Environment.PythonModuleMetadata+pyGraphMetadata x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PyGraph"),+        Model.projectionFieldName = (Model.Name "metadata")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.environment.PyGraph+pyGraphPyGraph :: Typed.TypedName Environment.PyGraph+pyGraphPyGraph = Typed.TypedName (Model.Name "hydra.python.environment.PyGraph")++-- | DSL updater for the graph field of hydra.python.environment.PyGraph+pyGraphWithGraph :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PyGraph+pyGraphWithGraph original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PyGraph"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "metadata"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PyGraph"),+              Model.projectionFieldName = (Model.Name "metadata")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the metadata field of hydra.python.environment.PyGraph+pyGraphWithMetadata :: Typed.TypedTerm Environment.PyGraph -> Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Environment.PyGraph+pyGraphWithMetadata original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PyGraph"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PyGraph"),+              Model.projectionFieldName = (Model.Name "graph")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "metadata"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.environment.PythonEnvironment+pythonEnvironment :: Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm ([Model.Name], (M.Map Model.Name Syntax.Name)) -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Environment.PythonVersion -> Typed.TypedTerm Bool -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironment namespaces boundTypeVariables graph nullaryBindings version skipCasts inlineVariables overlaySubs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Typed.unTypedTerm namespaces)},+        Model.Field {+          Model.fieldName = (Model.Name "boundTypeVariables"),+          Model.fieldTerm = (Typed.unTypedTerm boundTypeVariables)},+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Typed.unTypedTerm graph)},+        Model.Field {+          Model.fieldName = (Model.Name "nullaryBindings"),+          Model.fieldTerm = (Typed.unTypedTerm nullaryBindings)},+        Model.Field {+          Model.fieldName = (Model.Name "version"),+          Model.fieldTerm = (Typed.unTypedTerm version)},+        Model.Field {+          Model.fieldName = (Model.Name "skipCasts"),+          Model.fieldTerm = (Typed.unTypedTerm skipCasts)},+        Model.Field {+          Model.fieldName = (Model.Name "inlineVariables"),+          Model.fieldTerm = (Typed.unTypedTerm inlineVariables)},+        Model.Field {+          Model.fieldName = (Model.Name "overlaySubs"),+          Model.fieldTerm = (Typed.unTypedTerm overlaySubs)}]}))++-- | DSL accessor for the boundTypeVariables field of hydra.python.environment.PythonEnvironment+pythonEnvironmentBoundTypeVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm ([Model.Name], (M.Map Model.Name Syntax.Name))+pythonEnvironmentBoundTypeVariables x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+        Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the graph field of hydra.python.environment.PythonEnvironment+pythonEnvironmentGraph :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Graph.Graph+pythonEnvironmentGraph x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+        Model.projectionFieldName = (Model.Name "graph")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the inlineVariables field of hydra.python.environment.PythonEnvironment+pythonEnvironmentInlineVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Model.Name)+pythonEnvironmentInlineVariables x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+        Model.projectionFieldName = (Model.Name "inlineVariables")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the namespaces field of hydra.python.environment.PythonEnvironment+pythonEnvironmentNamespaces :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)+pythonEnvironmentNamespaces x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+        Model.projectionFieldName = (Model.Name "namespaces")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the nullaryBindings field of hydra.python.environment.PythonEnvironment+pythonEnvironmentNullaryBindings :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Model.Name)+pythonEnvironmentNullaryBindings x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+        Model.projectionFieldName = (Model.Name "nullaryBindings")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the overlaySubs field of hydra.python.environment.PythonEnvironment+pythonEnvironmentOverlaySubs :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set String)+pythonEnvironmentOverlaySubs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+        Model.projectionFieldName = (Model.Name "overlaySubs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.environment.PythonEnvironment+pythonEnvironmentPythonEnvironment :: Typed.TypedName Environment.PythonEnvironment+pythonEnvironmentPythonEnvironment = Typed.TypedName (Model.Name "hydra.python.environment.PythonEnvironment")++-- | DSL accessor for the skipCasts field of hydra.python.environment.PythonEnvironment+pythonEnvironmentSkipCasts :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Bool+pythonEnvironmentSkipCasts x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+        Model.projectionFieldName = (Model.Name "skipCasts")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the version field of hydra.python.environment.PythonEnvironment+pythonEnvironmentVersion :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Environment.PythonVersion+pythonEnvironmentVersion x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+        Model.projectionFieldName = (Model.Name "version")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the boundTypeVariables field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithBoundTypeVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm ([Model.Name], (M.Map Model.Name Syntax.Name)) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithBoundTypeVariables original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "boundTypeVariables"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "graph")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "nullaryBindings"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "nullaryBindings")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "version"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "version")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "skipCasts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "skipCasts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "inlineVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "inlineVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "overlaySubs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "overlaySubs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the graph field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithGraph :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Graph.Graph -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithGraph original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "boundTypeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "nullaryBindings"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "nullaryBindings")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "version"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "version")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "skipCasts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "skipCasts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "inlineVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "inlineVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "overlaySubs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "overlaySubs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the inlineVariables field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithInlineVariables :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithInlineVariables original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "boundTypeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "graph")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "nullaryBindings"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "nullaryBindings")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "version"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "version")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "skipCasts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "skipCasts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "inlineVariables"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "overlaySubs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "overlaySubs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the namespaces field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithNamespaces :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithNamespaces original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "boundTypeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "graph")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "nullaryBindings"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "nullaryBindings")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "version"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "version")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "skipCasts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "skipCasts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "inlineVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "inlineVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "overlaySubs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "overlaySubs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the nullaryBindings field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithNullaryBindings :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithNullaryBindings original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "boundTypeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "graph")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "nullaryBindings"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "version"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "version")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "skipCasts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "skipCasts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "inlineVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "inlineVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "overlaySubs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "overlaySubs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the overlaySubs field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithOverlaySubs :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithOverlaySubs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "boundTypeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "graph")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "nullaryBindings"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "nullaryBindings")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "version"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "version")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "skipCasts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "skipCasts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "inlineVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "inlineVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "overlaySubs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the skipCasts field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithSkipCasts :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithSkipCasts original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "boundTypeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "graph")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "nullaryBindings"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "nullaryBindings")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "version"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "version")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "skipCasts"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "inlineVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "inlineVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "overlaySubs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "overlaySubs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the version field of hydra.python.environment.PythonEnvironment+pythonEnvironmentWithVersion :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Environment.PythonVersion -> Typed.TypedTerm Environment.PythonEnvironment+pythonEnvironmentWithVersion original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "boundTypeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "boundTypeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "graph"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "graph")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "nullaryBindings"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "nullaryBindings")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "version"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "skipCasts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "skipCasts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "inlineVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "inlineVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "overlaySubs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonEnvironment"),+              Model.projectionFieldName = (Model.Name "overlaySubs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.environment.PythonModuleMetadata+pythonModuleMetadata :: Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadata namespaces typeVariables usesAnnotated usesCallable usesCast usesLruCache usesTypeAlias usesDataclass usesDecimal usesEither usesEnum usesFrozenDict usesFrozenList usesFrozenSet usesGeneric usesJust usesLeft usesMaybe usesName usesNode usesNothing usesRight usesTypeVar =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Typed.unTypedTerm namespaces)},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Typed.unTypedTerm typeVariables)},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Typed.unTypedTerm usesAnnotated)},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Typed.unTypedTerm usesCallable)},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Typed.unTypedTerm usesCast)},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Typed.unTypedTerm usesLruCache)},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Typed.unTypedTerm usesTypeAlias)},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Typed.unTypedTerm usesDataclass)},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Typed.unTypedTerm usesDecimal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Typed.unTypedTerm usesEither)},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Typed.unTypedTerm usesEnum)},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Typed.unTypedTerm usesFrozenDict)},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Typed.unTypedTerm usesFrozenList)},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Typed.unTypedTerm usesFrozenSet)},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Typed.unTypedTerm usesGeneric)},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Typed.unTypedTerm usesJust)},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Typed.unTypedTerm usesLeft)},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Typed.unTypedTerm usesMaybe)},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Typed.unTypedTerm usesName)},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Typed.unTypedTerm usesNode)},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Typed.unTypedTerm usesNothing)},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Typed.unTypedTerm usesRight)},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Typed.unTypedTerm usesTypeVar)}]}))++-- | DSL accessor for the namespaces field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataNamespaces :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)+pythonModuleMetadataNamespaces x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "namespaces")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataPythonModuleMetadata :: Typed.TypedName Environment.PythonModuleMetadata+pythonModuleMetadataPythonModuleMetadata = Typed.TypedName (Model.Name "hydra.python.environment.PythonModuleMetadata")++-- | DSL accessor for the typeVariables field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataTypeVariables :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (S.Set Model.Name)+pythonModuleMetadataTypeVariables x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "typeVariables")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesAnnotated field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesAnnotated :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesAnnotated x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesAnnotated")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesCallable field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesCallable :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesCallable x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesCallable")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesCast field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesCast :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesCast x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesCast")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesDataclass field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesDataclass :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesDataclass x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesDataclass")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesDecimal field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesDecimal :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesDecimal x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesDecimal")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesEither field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesEither :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesEither x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesEither")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesEnum field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesEnum :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesEnum x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesEnum")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesFrozenDict field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesFrozenDict :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesFrozenDict x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesFrozenList field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesFrozenList :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesFrozenList x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesFrozenList")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesFrozenSet field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesFrozenSet :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesFrozenSet x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesGeneric field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesGeneric :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesGeneric x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesGeneric")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesJust field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesJust :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesJust x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesJust")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesLeft field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesLeft :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesLeft x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesLeft")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesLruCache field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesLruCache :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesLruCache x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesLruCache")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesMaybe field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesMaybe :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesMaybe x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesMaybe")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesName field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesName :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesName")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesNode field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesNode :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesNode x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesNode")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesNothing field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesNothing :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesNothing x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesNothing")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesRight field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesRight :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesRight x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesRight")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesTypeAlias field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesTypeAlias :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesTypeAlias x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the usesTypeVar field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataUsesTypeVar :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool+pythonModuleMetadataUsesTypeVar x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+        Model.projectionFieldName = (Model.Name "usesTypeVar")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the namespaces field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithNamespaces :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName) -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithNamespaces original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeVariables field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithTypeVariables :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm (S.Set Model.Name) -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithTypeVariables original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesAnnotated field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesAnnotated :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesAnnotated original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesCallable field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesCallable :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesCallable original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesCast field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesCast :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesCast original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesDataclass field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesDataclass :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesDataclass original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesDecimal field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesDecimal :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesDecimal original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesEither field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesEither :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesEither original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesEnum field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesEnum :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesEnum original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesFrozenDict field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenDict :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenDict original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesFrozenList field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenList :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenList original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesFrozenSet field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenSet :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesFrozenSet original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesGeneric field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesGeneric :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesGeneric original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesJust field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesJust :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesJust original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesLeft field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesLeft :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesLeft original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesLruCache field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesLruCache :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesLruCache original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesMaybe field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesMaybe :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesMaybe original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesName field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesName :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesNode field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesNode :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesNode original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesNothing field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesNothing :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesNothing original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesRight field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesRight :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesRight original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesTypeAlias field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesTypeAlias :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesTypeAlias original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeVar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the usesTypeVar field of hydra.python.environment.PythonModuleMetadata+pythonModuleMetadataWithUsesTypeVar :: Typed.TypedTerm Environment.PythonModuleMetadata -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonModuleMetadata+pythonModuleMetadataWithUsesTypeVar original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "namespaces"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "namespaces")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeVariables"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "typeVariables")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesAnnotated"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesAnnotated")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCallable"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCallable")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesCast"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesCast")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLruCache"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLruCache")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeAlias"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesTypeAlias")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDataclass"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDataclass")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesDecimal"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesDecimal")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEither"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEither")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesEnum"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesEnum")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenDict"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenDict")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenList"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenList")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesFrozenSet"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesFrozenSet")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesGeneric"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesGeneric")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesJust"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesJust")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesLeft"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesLeft")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesMaybe"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesMaybe")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNode"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNode")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesNothing"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesNothing")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesRight"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.environment.PythonModuleMetadata"),+              Model.projectionFieldName = (Model.Name "usesRight")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "usesTypeVar"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the python310 variant of hydra.python.environment.PythonVersion+pythonVersionPython310 :: Typed.TypedTerm Environment.PythonVersion+pythonVersionPython310 =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.environment.PythonVersion"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "python310"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the python312 variant of hydra.python.environment.PythonVersion+pythonVersionPython312 :: Typed.TypedTerm Environment.PythonVersion+pythonVersionPython312 =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.environment.PythonVersion"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "python312"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.environment.PythonVersion+pythonVersionPythonVersion :: Typed.TypedName Environment.PythonVersion+pythonVersionPythonVersion = Typed.TypedName (Model.Name "hydra.python.environment.PythonVersion")
+ src/main/haskell/Hydra/Python/Dsl/Names.hs view
@@ -0,0 +1,195 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.python.names++module Hydra.Python.Dsl.Names where++import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as CoreNames+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Parsing as Parsing+import qualified Hydra.Core.Paths as Paths+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Topology as Topology+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Core.Validation as Validation+import qualified Hydra.Core.Variants as Variants+import qualified Hydra.Python.Dsl.Environment as DslEnvironment+import qualified Hydra.Python.Dsl.Syntax as DslSyntax+import qualified Hydra.Python.Environment as Environment+import qualified Hydra.Python.Language as Language+import qualified Hydra.Python.Names as PythonNames+import qualified Hydra.Python.Serde as Serde+import qualified Hydra.Python.Syntax as Syntax+import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void+import qualified Data.Map as M+import qualified Data.Set as S++-- | DSL reference to hydra.python.names.encodeConstantForFieldName+encodeConstantForFieldName :: Typed.TypedTerm t0 -> Typed.TypedTerm t1 -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeConstantForFieldName arg0 arg1 arg2 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeConstantForFieldName")),+          Model.applicationArgument = (Typed.unTypedTerm arg0)})),+        Model.applicationArgument = (Typed.unTypedTerm arg1)})),+      Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.names.encodeConstantForTypeName+encodeConstantForTypeName :: Typed.TypedTerm t0 -> Typed.TypedTerm t1 -> Typed.TypedTerm Syntax.Name+encodeConstantForTypeName arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeConstantForTypeName")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeEnumValue+encodeEnumValue :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeEnumValue arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeEnumValue")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeFieldName+encodeFieldName :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeFieldName arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeFieldName")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeName+encodeName :: Typed.TypedTerm Bool -> Typed.TypedTerm Util.CaseConvention -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeName arg0 arg1 arg2 arg3 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeName")),+            Model.applicationArgument = (Typed.unTypedTerm arg0)})),+          Model.applicationArgument = (Typed.unTypedTerm arg1)})),+        Model.applicationArgument = (Typed.unTypedTerm arg2)})),+      Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.names.encodeNameQualified+encodeNameQualified :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeNameQualified arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeNameQualified")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeNamespace+encodeNamespace :: Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm Syntax.DottedName+encodeNamespace arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeNamespace")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.names.encodeNamespaceStringWithOverrides+encodeNamespaceStringWithOverrides :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm String+encodeNamespaceStringWithOverrides arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeNamespaceStringWithOverrides")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeNamespaceWithOverrides+encodeNamespaceWithOverrides :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm Syntax.DottedName+encodeNamespaceWithOverrides arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeNamespaceWithOverrides")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.encodeTypeVariable+encodeTypeVariable :: Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+encodeTypeVariable arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.encodeTypeVariable")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.names.overlayPythonModuleAliases+overlayPythonModuleAliases :: Typed.TypedTerm (M.Map Packaging.ModuleName String)+overlayPythonModuleAliases =+    Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.names.overlayPythonModuleAliases"))++-- | DSL reference to hydra.python.names.sanitizePythonName+sanitizePythonName :: Typed.TypedTerm String -> Typed.TypedTerm String+sanitizePythonName arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.sanitizePythonName")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.names.termVariableReference+termVariableReference :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Expression+termVariableReference arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.termVariableReference")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.typeVariableReference+typeVariableReference :: Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Expression+typeVariableReference arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.typeVariableReference")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.names.useFutureAnnotations+useFutureAnnotations :: Typed.TypedTerm Bool+useFutureAnnotations = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.names.useFutureAnnotations"))++-- | DSL reference to hydra.python.names.variableReference+variableReference :: Typed.TypedTerm Util.CaseConvention -> Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Expression+variableReference arg0 arg1 arg2 arg3 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.variableReference")),+            Model.applicationArgument = (Typed.unTypedTerm arg0)})),+          Model.applicationArgument = (Typed.unTypedTerm arg1)})),+        Model.applicationArgument = (Typed.unTypedTerm arg2)})),+      Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.names.variantName+variantName :: Typed.TypedTerm Bool -> Typed.TypedTerm Environment.PythonEnvironment -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Model.Name -> Typed.TypedTerm Syntax.Name+variantName arg0 arg1 arg2 arg3 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.names.variantName")),+            Model.applicationArgument = (Typed.unTypedTerm arg0)})),+          Model.applicationArgument = (Typed.unTypedTerm arg1)})),+        Model.applicationArgument = (Typed.unTypedTerm arg2)})),+      Model.applicationArgument = (Typed.unTypedTerm arg3)}))
+ src/main/haskell/Hydra/Python/Dsl/Syntax.hs view
@@ -0,0 +1,11745 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.python.syntax++module Hydra.Python.Dsl.Syntax where++import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Python.Syntax as Syntax+import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++-- | DSL name token for hydra.python.syntax.AnnotatedRhs+annotatedRhsAnnotatedRhs :: Typed.TypedName Syntax.AnnotatedRhs+annotatedRhsAnnotatedRhs = Typed.TypedName (Model.Name "hydra.python.syntax.AnnotatedRhs")++-- | DSL injection for the star variant of hydra.python.syntax.AnnotatedRhs+annotatedRhsStar :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.AnnotatedRhs+annotatedRhsStar x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedRhs"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "star"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the yield variant of hydra.python.syntax.AnnotatedRhs+annotatedRhsYield :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.AnnotatedRhs+annotatedRhsYield x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedRhs"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "yield"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.AnnotatedStatement+annotatedStatement :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.AnnotatedStatement+annotatedStatement comment statement =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "comment"),+          Model.fieldTerm = (Typed.unTypedTerm comment)},+        Model.Field {+          Model.fieldName = (Model.Name "statement"),+          Model.fieldTerm = (Typed.unTypedTerm statement)}]}))++-- | DSL name token for hydra.python.syntax.AnnotatedStatement+annotatedStatementAnnotatedStatement :: Typed.TypedName Syntax.AnnotatedStatement+annotatedStatementAnnotatedStatement = Typed.TypedName (Model.Name "hydra.python.syntax.AnnotatedStatement")++-- | DSL accessor for the comment field of hydra.python.syntax.AnnotatedStatement+annotatedStatementComment :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm String+annotatedStatementComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+        Model.projectionFieldName = (Model.Name "comment")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the statement field of hydra.python.syntax.AnnotatedStatement+annotatedStatementStatement :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement+annotatedStatementStatement x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+        Model.projectionFieldName = (Model.Name "statement")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the comment field of hydra.python.syntax.AnnotatedStatement+annotatedStatementWithComment :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.AnnotatedStatement+annotatedStatementWithComment original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "comment"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "statement"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+              Model.projectionFieldName = (Model.Name "statement")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the statement field of hydra.python.syntax.AnnotatedStatement+annotatedStatementWithStatement :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.AnnotatedStatement+annotatedStatementWithStatement original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "comment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AnnotatedStatement"),+              Model.projectionFieldName = (Model.Name "comment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "statement"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.Annotation wrapper+annotation :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Annotation+annotation x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Annotation"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Annotation+annotationAnnotation :: Typed.TypedName Syntax.Annotation+annotationAnnotation = Typed.TypedName (Model.Name "hydra.python.syntax.Annotation")++-- | DSL constructor for hydra.python.syntax.Args+args :: Typed.TypedTerm [Syntax.PosArg] -> Typed.TypedTerm [Syntax.KwargOrStarred] -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred] -> Typed.TypedTerm Syntax.Args+args positional kwargOrStarred kwargOrDoubleStarred =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Args"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "positional"),+          Model.fieldTerm = (Typed.unTypedTerm positional)},+        Model.Field {+          Model.fieldName = (Model.Name "kwargOrStarred"),+          Model.fieldTerm = (Typed.unTypedTerm kwargOrStarred)},+        Model.Field {+          Model.fieldName = (Model.Name "kwargOrDoubleStarred"),+          Model.fieldTerm = (Typed.unTypedTerm kwargOrDoubleStarred)}]}))++-- | DSL name token for hydra.python.syntax.Args+argsArgs :: Typed.TypedName Syntax.Args+argsArgs = Typed.TypedName (Model.Name "hydra.python.syntax.Args")++-- | DSL accessor for the kwargOrDoubleStarred field of hydra.python.syntax.Args+argsKwargOrDoubleStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred]+argsKwargOrDoubleStarred x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+        Model.projectionFieldName = (Model.Name "kwargOrDoubleStarred")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the kwargOrStarred field of hydra.python.syntax.Args+argsKwargOrStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrStarred]+argsKwargOrStarred x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+        Model.projectionFieldName = (Model.Name "kwargOrStarred")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the positional field of hydra.python.syntax.Args+argsPositional :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.PosArg]+argsPositional x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+        Model.projectionFieldName = (Model.Name "positional")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the kwargOrDoubleStarred field of hydra.python.syntax.Args+argsWithKwargOrDoubleStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrDoubleStarred] -> Typed.TypedTerm Syntax.Args+argsWithKwargOrDoubleStarred original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Args"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "positional"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+              Model.projectionFieldName = (Model.Name "positional")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "kwargOrStarred"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+              Model.projectionFieldName = (Model.Name "kwargOrStarred")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "kwargOrDoubleStarred"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the kwargOrStarred field of hydra.python.syntax.Args+argsWithKwargOrStarred :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.KwargOrStarred] -> Typed.TypedTerm Syntax.Args+argsWithKwargOrStarred original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Args"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "positional"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+              Model.projectionFieldName = (Model.Name "positional")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "kwargOrStarred"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "kwargOrDoubleStarred"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+              Model.projectionFieldName = (Model.Name "kwargOrDoubleStarred")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the positional field of hydra.python.syntax.Args+argsWithPositional :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm [Syntax.PosArg] -> Typed.TypedTerm Syntax.Args+argsWithPositional original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Args"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "positional"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "kwargOrStarred"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+              Model.projectionFieldName = (Model.Name "kwargOrStarred")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "kwargOrDoubleStarred"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Args"),+              Model.projectionFieldName = (Model.Name "kwargOrDoubleStarred")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.AsPattern+asPattern :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.AsPattern+asPattern pattern as =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "pattern"),+          Model.fieldTerm = (Typed.unTypedTerm pattern)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.AsPattern+asPatternAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget+asPatternAs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+        Model.projectionFieldName = (Model.Name "as")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.AsPattern+asPatternAsPattern :: Typed.TypedName Syntax.AsPattern+asPatternAsPattern = Typed.TypedName (Model.Name "hydra.python.syntax.AsPattern")++-- | DSL accessor for the pattern field of hydra.python.syntax.AsPattern+asPatternPattern :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.OrPattern+asPatternPattern x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+        Model.projectionFieldName = (Model.Name "pattern")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.AsPattern+asPatternWithAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.AsPattern+asPatternWithAs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "pattern"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+              Model.projectionFieldName = (Model.Name "pattern")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the pattern field of hydra.python.syntax.AsPattern+asPatternWithPattern :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.AsPattern+asPatternWithPattern original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "pattern"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AsPattern"),+              Model.projectionFieldName = (Model.Name "as")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.AssertStatement+assertStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.AssertStatement+assertStatement expression1 expression2 =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression1"),+          Model.fieldTerm = (Typed.unTypedTerm expression1)},+        Model.Field {+          Model.fieldName = (Model.Name "expression2"),+          Model.fieldTerm = (Typed.unTypedTerm expression2)}]}))++-- | DSL name token for hydra.python.syntax.AssertStatement+assertStatementAssertStatement :: Typed.TypedName Syntax.AssertStatement+assertStatementAssertStatement = Typed.TypedName (Model.Name "hydra.python.syntax.AssertStatement")++-- | DSL accessor for the expression1 field of hydra.python.syntax.AssertStatement+assertStatementExpression1 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.Expression+assertStatementExpression1 x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+        Model.projectionFieldName = (Model.Name "expression1")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression2 field of hydra.python.syntax.AssertStatement+assertStatementExpression2 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm (Maybe Syntax.Expression)+assertStatementExpression2 x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+        Model.projectionFieldName = (Model.Name "expression2")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression1 field of hydra.python.syntax.AssertStatement+assertStatementWithExpression1 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssertStatement+assertStatementWithExpression1 original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression1"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "expression2"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+              Model.projectionFieldName = (Model.Name "expression2")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the expression2 field of hydra.python.syntax.AssertStatement+assertStatementWithExpression2 :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.AssertStatement+assertStatementWithExpression2 original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression1"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssertStatement"),+              Model.projectionFieldName = (Model.Name "expression1")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "expression2"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.Assignment+assignmentAssignment :: Typed.TypedName Syntax.Assignment+assignmentAssignment = Typed.TypedName (Model.Name "hydra.python.syntax.Assignment")++-- | DSL injection for the aug variant of hydra.python.syntax.Assignment+assignmentAug :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.Assignment+assignmentAug x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Assignment"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "aug"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.AssignmentExpression+assignmentExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentExpression+assignmentExpression name expression =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL name token for hydra.python.syntax.AssignmentExpression+assignmentExpressionAssignmentExpression :: Typed.TypedName Syntax.AssignmentExpression+assignmentExpressionAssignmentExpression = Typed.TypedName (Model.Name "hydra.python.syntax.AssignmentExpression")++-- | DSL accessor for the expression field of hydra.python.syntax.AssignmentExpression+assignmentExpressionExpression :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Expression+assignmentExpressionExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+        Model.projectionFieldName = (Model.Name "expression")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.AssignmentExpression+assignmentExpressionName :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Name+assignmentExpressionName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.python.syntax.AssignmentExpression+assignmentExpressionWithExpression :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AssignmentExpression+assignmentExpressionWithExpression original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.AssignmentExpression+assignmentExpressionWithName :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.AssignmentExpression+assignmentExpressionWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AssignmentExpression"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the typed variant of hydra.python.syntax.Assignment+assignmentTyped :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Assignment+assignmentTyped x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Assignment"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "typed"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the untyped variant of hydra.python.syntax.Assignment+assignmentUntyped :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.Assignment+assignmentUntyped x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Assignment"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "untyped"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Atom+atomAtom :: Typed.TypedName Syntax.Atom+atomAtom = Typed.TypedName (Model.Name "hydra.python.syntax.Atom")++-- | DSL injection for the dict variant of hydra.python.syntax.Atom+atomDict :: Typed.TypedTerm Syntax.Dict -> Typed.TypedTerm Syntax.Atom+atomDict x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "dict"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the dictcomp variant of hydra.python.syntax.Atom+atomDictcomp :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Atom+atomDictcomp x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "dictcomp"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the ellipsis variant of hydra.python.syntax.Atom+atomEllipsis :: Typed.TypedTerm Syntax.Atom+atomEllipsis =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "ellipsis"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the false variant of hydra.python.syntax.Atom+atomFalse :: Typed.TypedTerm Syntax.Atom+atomFalse =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "false"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the genexp variant of hydra.python.syntax.Atom+atomGenexp :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.Atom+atomGenexp x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "genexp"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the group variant of hydra.python.syntax.Atom+atomGroup :: Typed.TypedTerm Syntax.Group -> Typed.TypedTerm Syntax.Atom+atomGroup x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "group"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the list variant of hydra.python.syntax.Atom+atomList :: Typed.TypedTerm Syntax.List -> Typed.TypedTerm Syntax.Atom+atomList x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "list"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the listcomp variant of hydra.python.syntax.Atom+atomListcomp :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.Atom+atomListcomp x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "listcomp"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the name variant of hydra.python.syntax.Atom+atomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Atom+atomName x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "name"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the none variant of hydra.python.syntax.Atom+atomNone :: Typed.TypedTerm Syntax.Atom+atomNone =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "none"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the number variant of hydra.python.syntax.Atom+atomNumber :: Typed.TypedTerm Syntax.Number -> Typed.TypedTerm Syntax.Atom+atomNumber x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "number"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the set variant of hydra.python.syntax.Atom+atomSet :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm Syntax.Atom+atomSet x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "set"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the setcomp variant of hydra.python.syntax.Atom+atomSetcomp :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.Atom+atomSetcomp x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "setcomp"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the string variant of hydra.python.syntax.Atom+atomString :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.Atom+atomString x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "string"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the true variant of hydra.python.syntax.Atom+atomTrue :: Typed.TypedTerm Syntax.Atom+atomTrue =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "true"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the tuple variant of hydra.python.syntax.Atom+atomTuple :: Typed.TypedTerm Syntax.Tuple -> Typed.TypedTerm Syntax.Atom+atomTuple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Atom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "tuple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Attribute wrapper+attribute :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.Attribute+attribute x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Attribute"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Attribute+attributeAttribute :: Typed.TypedName Syntax.Attribute+attributeAttribute = Typed.TypedName (Model.Name "hydra.python.syntax.Attribute")++-- | DSL injection for the ampersandEqual variant of hydra.python.syntax.AugAssign+augAssignAmpersandEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignAmpersandEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "ampersandEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the atEqual variant of hydra.python.syntax.AugAssign+augAssignAtEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignAtEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "atEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.AugAssign+augAssignAugAssign :: Typed.TypedName Syntax.AugAssign+augAssignAugAssign = Typed.TypedName (Model.Name "hydra.python.syntax.AugAssign")++-- | DSL injection for the barEqual variant of hydra.python.syntax.AugAssign+augAssignBarEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignBarEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "barEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the caretEqual variant of hydra.python.syntax.AugAssign+augAssignCaretEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignCaretEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "caretEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the doubleSlashEqual variant of hydra.python.syntax.AugAssign+augAssignDoubleSlashEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignDoubleSlashEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "doubleSlashEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the leftShiftEqual variant of hydra.python.syntax.AugAssign+augAssignLeftShiftEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignLeftShiftEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "leftShiftEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the minusEqual variant of hydra.python.syntax.AugAssign+augAssignMinusEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignMinusEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "minusEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the percentEqual variant of hydra.python.syntax.AugAssign+augAssignPercentEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignPercentEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "percentEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plusEqual variant of hydra.python.syntax.AugAssign+augAssignPlusEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignPlusEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "plusEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rightShiftEqual variant of hydra.python.syntax.AugAssign+augAssignRightShiftEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignRightShiftEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "rightShiftEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the slashEqual variant of hydra.python.syntax.AugAssign+augAssignSlashEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignSlashEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "slashEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the starStarEqual variant of hydra.python.syntax.AugAssign+augAssignStarStarEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignStarStarEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starStarEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the timesEqual variant of hydra.python.syntax.AugAssign+augAssignTimesEqual :: Typed.TypedTerm Syntax.AugAssign+augAssignTimesEqual =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.AugAssign"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "timesEqual"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.AugAssignment+augAssignment :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.AugAssign -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.AugAssignment+augAssignment lhs augassign rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "augassign"),+          Model.fieldTerm = (Typed.unTypedTerm augassign)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.AugAssignment+augAssignmentAugAssignment :: Typed.TypedName Syntax.AugAssignment+augAssignmentAugAssignment = Typed.TypedName (Model.Name "hydra.python.syntax.AugAssignment")++-- | DSL accessor for the augassign field of hydra.python.syntax.AugAssignment+augAssignmentAugassign :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AugAssign+augAssignmentAugassign x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+        Model.projectionFieldName = (Model.Name "augassign")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the lhs field of hydra.python.syntax.AugAssignment+augAssignmentLhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.SingleTarget+augAssignmentLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.AugAssignment+augAssignmentRhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs+augAssignmentRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the augassign field of hydra.python.syntax.AugAssignment+augAssignmentWithAugassign :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AugAssign -> Typed.TypedTerm Syntax.AugAssignment+augAssignmentWithAugassign original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "augassign"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the lhs field of hydra.python.syntax.AugAssignment+augAssignmentWithLhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.AugAssignment+augAssignmentWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "augassign"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+              Model.projectionFieldName = (Model.Name "augassign")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.AugAssignment+augAssignmentWithRhs :: Typed.TypedTerm Syntax.AugAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.AugAssignment+augAssignmentWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "augassign"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AugAssignment"),+              Model.projectionFieldName = (Model.Name "augassign")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.AwaitPrimary+awaitPrimary :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.AwaitPrimary+awaitPrimary await primary =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "await"),+          Model.fieldTerm = (Typed.unTypedTerm await)},+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm primary)}]}))++-- | DSL accessor for the await field of hydra.python.syntax.AwaitPrimary+awaitPrimaryAwait :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Bool+awaitPrimaryAwait x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+        Model.projectionFieldName = (Model.Name "await")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.AwaitPrimary+awaitPrimaryAwaitPrimary :: Typed.TypedName Syntax.AwaitPrimary+awaitPrimaryAwaitPrimary = Typed.TypedName (Model.Name "hydra.python.syntax.AwaitPrimary")++-- | DSL accessor for the primary field of hydra.python.syntax.AwaitPrimary+awaitPrimaryPrimary :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Primary+awaitPrimaryPrimary x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+        Model.projectionFieldName = (Model.Name "primary")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the await field of hydra.python.syntax.AwaitPrimary+awaitPrimaryWithAwait :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.AwaitPrimary+awaitPrimaryWithAwait original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "await"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+              Model.projectionFieldName = (Model.Name "primary")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the primary field of hydra.python.syntax.AwaitPrimary+awaitPrimaryWithPrimary :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.AwaitPrimary+awaitPrimaryWithPrimary original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "await"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.AwaitPrimary"),+              Model.projectionFieldName = (Model.Name "await")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.BitwiseAnd+bitwiseAnd :: Typed.TypedTerm (Maybe Syntax.BitwiseAnd) -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BitwiseAnd+bitwiseAnd lhs rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.BitwiseAnd+bitwiseAndBitwiseAnd :: Typed.TypedName Syntax.BitwiseAnd+bitwiseAndBitwiseAnd = Typed.TypedName (Model.Name "hydra.python.syntax.BitwiseAnd")++-- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseAnd+bitwiseAndLhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm (Maybe Syntax.BitwiseAnd)+bitwiseAndLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseAnd+bitwiseAndRhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.ShiftExpression+bitwiseAndRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.BitwiseAnd+bitwiseAndWithLhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm (Maybe Syntax.BitwiseAnd) -> Typed.TypedTerm Syntax.BitwiseAnd+bitwiseAndWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.BitwiseAnd+bitwiseAndWithRhs :: Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.BitwiseAnd+bitwiseAndWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseAnd"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.BitwiseOr+bitwiseOr :: Typed.TypedTerm (Maybe Syntax.BitwiseOr) -> Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseOr+bitwiseOr lhs rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.BitwiseOr+bitwiseOrBitwiseOr :: Typed.TypedName Syntax.BitwiseOr+bitwiseOrBitwiseOr = Typed.TypedName (Model.Name "hydra.python.syntax.BitwiseOr")++-- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseOr+bitwiseOrLhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm (Maybe Syntax.BitwiseOr)+bitwiseOrLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseOr+bitwiseOrRhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.BitwiseXor+bitwiseOrRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.BitwiseOr+bitwiseOrWithLhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm (Maybe Syntax.BitwiseOr) -> Typed.TypedTerm Syntax.BitwiseOr+bitwiseOrWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.BitwiseOr+bitwiseOrWithRhs :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseOr+bitwiseOrWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseOr"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.BitwiseXor+bitwiseXor :: Typed.TypedTerm (Maybe Syntax.BitwiseXor) -> Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.BitwiseXor+bitwiseXor lhs rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.BitwiseXor+bitwiseXorBitwiseXor :: Typed.TypedName Syntax.BitwiseXor+bitwiseXorBitwiseXor = Typed.TypedName (Model.Name "hydra.python.syntax.BitwiseXor")++-- | DSL accessor for the lhs field of hydra.python.syntax.BitwiseXor+bitwiseXorLhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm (Maybe Syntax.BitwiseXor)+bitwiseXorLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.BitwiseXor+bitwiseXorRhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseAnd+bitwiseXorRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.BitwiseXor+bitwiseXorWithLhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm (Maybe Syntax.BitwiseXor) -> Typed.TypedTerm Syntax.BitwiseXor+bitwiseXorWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.BitwiseXor+bitwiseXorWithRhs :: Typed.TypedTerm Syntax.BitwiseXor -> Typed.TypedTerm Syntax.BitwiseAnd -> Typed.TypedTerm Syntax.BitwiseXor+bitwiseXorWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.BitwiseXor"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.Block+blockBlock :: Typed.TypedName Syntax.Block+blockBlock = Typed.TypedName (Model.Name "hydra.python.syntax.Block")++-- | DSL injection for the indented variant of hydra.python.syntax.Block+blockIndented :: Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Block+blockIndented x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Block"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "indented"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Block+blockSimple :: Typed.TypedTerm [Syntax.SimpleStatement] -> Typed.TypedTerm Syntax.Block+blockSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Block"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.CapturePattern wrapper+capturePattern :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.CapturePattern+capturePattern x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.CapturePattern"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.CapturePattern+capturePatternCapturePattern :: Typed.TypedName Syntax.CapturePattern+capturePatternCapturePattern = Typed.TypedName (Model.Name "hydra.python.syntax.CapturePattern")++-- | DSL constructor for hydra.python.syntax.CaseBlock+caseBlock :: Typed.TypedTerm Syntax.Patterns -> Typed.TypedTerm (Maybe Syntax.Guard) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CaseBlock+caseBlock patterns guard body =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "patterns"),+          Model.fieldTerm = (Typed.unTypedTerm patterns)},+        Model.Field {+          Model.fieldName = (Model.Name "guard"),+          Model.fieldTerm = (Typed.unTypedTerm guard)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.CaseBlock+caseBlockBody :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Block+caseBlockBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.CaseBlock+caseBlockCaseBlock :: Typed.TypedName Syntax.CaseBlock+caseBlockCaseBlock = Typed.TypedName (Model.Name "hydra.python.syntax.CaseBlock")++-- | DSL accessor for the guard field of hydra.python.syntax.CaseBlock+caseBlockGuard :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm (Maybe Syntax.Guard)+caseBlockGuard x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+        Model.projectionFieldName = (Model.Name "guard")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the patterns field of hydra.python.syntax.CaseBlock+caseBlockPatterns :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Patterns+caseBlockPatterns x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+        Model.projectionFieldName = (Model.Name "patterns")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.python.syntax.CaseBlock+caseBlockWithBody :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.CaseBlock+caseBlockWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "patterns"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+              Model.projectionFieldName = (Model.Name "patterns")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "guard"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+              Model.projectionFieldName = (Model.Name "guard")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the guard field of hydra.python.syntax.CaseBlock+caseBlockWithGuard :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm (Maybe Syntax.Guard) -> Typed.TypedTerm Syntax.CaseBlock+caseBlockWithGuard original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "patterns"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+              Model.projectionFieldName = (Model.Name "patterns")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "guard"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the patterns field of hydra.python.syntax.CaseBlock+caseBlockWithPatterns :: Typed.TypedTerm Syntax.CaseBlock -> Typed.TypedTerm Syntax.Patterns -> Typed.TypedTerm Syntax.CaseBlock+caseBlockWithPatterns original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "patterns"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "guard"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+              Model.projectionFieldName = (Model.Name "guard")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CaseBlock"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.ClassDefinition+classDefinition :: Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ClassDefinition+classDefinition decorators name typeParams arguments body =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "decorators"),+          Model.fieldTerm = (Typed.unTypedTerm decorators)},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Typed.unTypedTerm typeParams)},+        Model.Field {+          Model.fieldName = (Model.Name "arguments"),+          Model.fieldTerm = (Typed.unTypedTerm arguments)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the arguments field of hydra.python.syntax.ClassDefinition+classDefinitionArguments :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Args)+classDefinitionArguments x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+        Model.projectionFieldName = (Model.Name "arguments")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.python.syntax.ClassDefinition+classDefinitionBody :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Block+classDefinitionBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ClassDefinition+classDefinitionClassDefinition :: Typed.TypedName Syntax.ClassDefinition+classDefinitionClassDefinition = Typed.TypedName (Model.Name "hydra.python.syntax.ClassDefinition")++-- | DSL accessor for the decorators field of hydra.python.syntax.ClassDefinition+classDefinitionDecorators :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators)+classDefinitionDecorators x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+        Model.projectionFieldName = (Model.Name "decorators")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.ClassDefinition+classDefinitionName :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Name+classDefinitionName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeParams field of hydra.python.syntax.ClassDefinition+classDefinitionTypeParams :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm [Syntax.TypeParameter]+classDefinitionTypeParams x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+        Model.projectionFieldName = (Model.Name "typeParams")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the arguments field of hydra.python.syntax.ClassDefinition+classDefinitionWithArguments :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithArguments original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "decorators"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "decorators")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "arguments"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.python.syntax.ClassDefinition+classDefinitionWithBody :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "decorators"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "decorators")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "arguments"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "arguments")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the decorators field of hydra.python.syntax.ClassDefinition+classDefinitionWithDecorators :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithDecorators original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "decorators"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "arguments"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "arguments")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.python.syntax.ClassDefinition+classDefinitionWithName :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "decorators"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "decorators")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "arguments"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "arguments")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParams field of hydra.python.syntax.ClassDefinition+classDefinitionWithTypeParams :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.ClassDefinition+classDefinitionWithTypeParams original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "decorators"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "decorators")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "arguments"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "arguments")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassDefinition"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.ClassPattern+classPattern :: Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns) -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns) -> Typed.TypedTerm Syntax.ClassPattern+classPattern nameOrAttribute positionalPatterns keywordPatterns =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "nameOrAttribute"),+          Model.fieldTerm = (Typed.unTypedTerm nameOrAttribute)},+        Model.Field {+          Model.fieldName = (Model.Name "positionalPatterns"),+          Model.fieldTerm = (Typed.unTypedTerm positionalPatterns)},+        Model.Field {+          Model.fieldName = (Model.Name "keywordPatterns"),+          Model.fieldTerm = (Typed.unTypedTerm keywordPatterns)}]}))++-- | DSL name token for hydra.python.syntax.ClassPattern+classPatternClassPattern :: Typed.TypedName Syntax.ClassPattern+classPatternClassPattern = Typed.TypedName (Model.Name "hydra.python.syntax.ClassPattern")++-- | DSL accessor for the keywordPatterns field of hydra.python.syntax.ClassPattern+classPatternKeywordPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns)+classPatternKeywordPatterns x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+        Model.projectionFieldName = (Model.Name "keywordPatterns")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the nameOrAttribute field of hydra.python.syntax.ClassPattern+classPatternNameOrAttribute :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.NameOrAttribute+classPatternNameOrAttribute x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+        Model.projectionFieldName = (Model.Name "nameOrAttribute")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the positionalPatterns field of hydra.python.syntax.ClassPattern+classPatternPositionalPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns)+classPatternPositionalPatterns x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+        Model.projectionFieldName = (Model.Name "positionalPatterns")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keywordPatterns field of hydra.python.syntax.ClassPattern+classPatternWithKeywordPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.KeywordPatterns) -> Typed.TypedTerm Syntax.ClassPattern+classPatternWithKeywordPatterns original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "nameOrAttribute"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+              Model.projectionFieldName = (Model.Name "nameOrAttribute")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "positionalPatterns"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+              Model.projectionFieldName = (Model.Name "positionalPatterns")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "keywordPatterns"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the nameOrAttribute field of hydra.python.syntax.ClassPattern+classPatternWithNameOrAttribute :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm Syntax.ClassPattern+classPatternWithNameOrAttribute original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "nameOrAttribute"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "positionalPatterns"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+              Model.projectionFieldName = (Model.Name "positionalPatterns")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "keywordPatterns"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+              Model.projectionFieldName = (Model.Name "keywordPatterns")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the positionalPatterns field of hydra.python.syntax.ClassPattern+classPatternWithPositionalPatterns :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm (Maybe Syntax.PositionalPatterns) -> Typed.TypedTerm Syntax.ClassPattern+classPatternWithPositionalPatterns original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "nameOrAttribute"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+              Model.projectionFieldName = (Model.Name "nameOrAttribute")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "positionalPatterns"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "keywordPatterns"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ClassPattern"),+              Model.projectionFieldName = (Model.Name "keywordPatterns")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the capture variant of hydra.python.syntax.ClosedPattern+closedPatternCapture :: Typed.TypedTerm Syntax.CapturePattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternCapture x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "capture"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the class variant of hydra.python.syntax.ClosedPattern+closedPatternClass :: Typed.TypedTerm Syntax.ClassPattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternClass x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "class"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.ClosedPattern+closedPatternClosedPattern :: Typed.TypedName Syntax.ClosedPattern+closedPatternClosedPattern = Typed.TypedName (Model.Name "hydra.python.syntax.ClosedPattern")++-- | DSL injection for the group variant of hydra.python.syntax.ClosedPattern+closedPatternGroup :: Typed.TypedTerm Syntax.GroupPattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternGroup x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "group"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the literal variant of hydra.python.syntax.ClosedPattern+closedPatternLiteral :: Typed.TypedTerm Syntax.LiteralExpression -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternLiteral x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "literal"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the mapping variant of hydra.python.syntax.ClosedPattern+closedPatternMapping :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternMapping x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "mapping"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sequence variant of hydra.python.syntax.ClosedPattern+closedPatternSequence :: Typed.TypedTerm Syntax.SequencePattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternSequence x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "sequence"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the value variant of hydra.python.syntax.ClosedPattern+closedPatternValue :: Typed.TypedTerm Syntax.ValuePattern -> Typed.TypedTerm Syntax.ClosedPattern+closedPatternValue x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "value"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the wildcard variant of hydra.python.syntax.ClosedPattern+closedPatternWildcard :: Typed.TypedTerm Syntax.ClosedPattern+closedPatternWildcard =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ClosedPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "wildcard"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.CommaStarEtc+commaStarEtc :: Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.CommaStarEtc+commaStarEtc paramMaybeDefault keywords =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Typed.unTypedTerm keywords)}]}))++-- | DSL name token for hydra.python.syntax.CommaStarEtc+commaStarEtcCommaStarEtc :: Typed.TypedName Syntax.CommaStarEtc+commaStarEtcCommaStarEtc = Typed.TypedName (Model.Name "hydra.python.syntax.CommaStarEtc")++-- | DSL accessor for the keywords field of hydra.python.syntax.CommaStarEtc+commaStarEtcKeywords :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)+commaStarEtcKeywords x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+        Model.projectionFieldName = (Model.Name "keywords")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.CommaStarEtc+commaStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]+commaStarEtcParamMaybeDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+        Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keywords field of hydra.python.syntax.CommaStarEtc+commaStarEtcWithKeywords :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.CommaStarEtc+commaStarEtcWithKeywords original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+              Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.CommaStarEtc+commaStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.CommaStarEtc+commaStarEtcWithParamMaybeDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CommaStarEtc"),+              Model.projectionFieldName = (Model.Name "keywords")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPair :: Typed.TypedTerm Syntax.CompareOp -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPair operator rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Typed.unTypedTerm operator)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairCompareOpBitwiseOrPair :: Typed.TypedName Syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairCompareOpBitwiseOrPair = Typed.TypedName (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair")++-- | DSL accessor for the operator field of hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairOperator :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.CompareOp+compareOpBitwiseOrPairOperator x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+        Model.projectionFieldName = (Model.Name "operator")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairRhs :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.BitwiseOr+compareOpBitwiseOrPairRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the operator field of hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairWithOperator :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.CompareOp -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairWithOperator original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairWithRhs :: Typed.TypedTerm Syntax.CompareOpBitwiseOrPair -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.CompareOpBitwiseOrPair+compareOpBitwiseOrPairWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"),+              Model.projectionFieldName = (Model.Name "operator")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.CompareOp+compareOpCompareOp :: Typed.TypedName Syntax.CompareOp+compareOpCompareOp = Typed.TypedName (Model.Name "hydra.python.syntax.CompareOp")++-- | DSL injection for the eq variant of hydra.python.syntax.CompareOp+compareOpEq :: Typed.TypedTerm Syntax.CompareOp+compareOpEq =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "eq"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the gt variant of hydra.python.syntax.CompareOp+compareOpGt :: Typed.TypedTerm Syntax.CompareOp+compareOpGt =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "gt"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the gte variant of hydra.python.syntax.CompareOp+compareOpGte :: Typed.TypedTerm Syntax.CompareOp+compareOpGte =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "gte"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the in variant of hydra.python.syntax.CompareOp+compareOpIn :: Typed.TypedTerm Syntax.CompareOp+compareOpIn =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "in"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the is variant of hydra.python.syntax.CompareOp+compareOpIs :: Typed.TypedTerm Syntax.CompareOp+compareOpIs =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "is"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the isnot variant of hydra.python.syntax.CompareOp+compareOpIsnot :: Typed.TypedTerm Syntax.CompareOp+compareOpIsnot =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "isnot"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lt variant of hydra.python.syntax.CompareOp+compareOpLt :: Typed.TypedTerm Syntax.CompareOp+compareOpLt =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "lt"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the lte variant of hydra.python.syntax.CompareOp+compareOpLte :: Typed.TypedTerm Syntax.CompareOp+compareOpLte =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "lte"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the noteq variant of hydra.python.syntax.CompareOp+compareOpNoteq :: Typed.TypedTerm Syntax.CompareOp+compareOpNoteq =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "noteq"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the notin variant of hydra.python.syntax.CompareOp+compareOpNotin :: Typed.TypedTerm Syntax.CompareOp+compareOpNotin =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompareOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "notin"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.Comparison+comparison :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair] -> Typed.TypedTerm Syntax.Comparison+comparison lhs rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Comparison"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL name token for hydra.python.syntax.Comparison+comparisonComparison :: Typed.TypedName Syntax.Comparison+comparisonComparison = Typed.TypedName (Model.Name "hydra.python.syntax.Comparison")++-- | DSL accessor for the lhs field of hydra.python.syntax.Comparison+comparisonLhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.BitwiseOr+comparisonLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Comparison"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.Comparison+comparisonRhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair]+comparisonRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Comparison"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.Comparison+comparisonWithLhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Comparison+comparisonWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Comparison"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Comparison"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.Comparison+comparisonWithRhs :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm [Syntax.CompareOpBitwiseOrPair] -> Typed.TypedTerm Syntax.Comparison+comparisonWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Comparison"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Comparison"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ComplexNumber+complexNumber :: Typed.TypedTerm Syntax.SignedRealNumber -> Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Syntax.ComplexNumber+complexNumber real plusOrMinus imaginary =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "real"),+          Model.fieldTerm = (Typed.unTypedTerm real)},+        Model.Field {+          Model.fieldName = (Model.Name "plusOrMinus"),+          Model.fieldTerm = (Typed.unTypedTerm plusOrMinus)},+        Model.Field {+          Model.fieldName = (Model.Name "imaginary"),+          Model.fieldTerm = (Typed.unTypedTerm imaginary)}]}))++-- | DSL name token for hydra.python.syntax.ComplexNumber+complexNumberComplexNumber :: Typed.TypedName Syntax.ComplexNumber+complexNumberComplexNumber = Typed.TypedName (Model.Name "hydra.python.syntax.ComplexNumber")++-- | DSL accessor for the imaginary field of hydra.python.syntax.ComplexNumber+complexNumberImaginary :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.ImaginaryNumber+complexNumberImaginary x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+        Model.projectionFieldName = (Model.Name "imaginary")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the plusOrMinus field of hydra.python.syntax.ComplexNumber+complexNumberPlusOrMinus :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.PlusOrMinus+complexNumberPlusOrMinus x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+        Model.projectionFieldName = (Model.Name "plusOrMinus")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the real field of hydra.python.syntax.ComplexNumber+complexNumberReal :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.SignedRealNumber+complexNumberReal x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+        Model.projectionFieldName = (Model.Name "real")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the imaginary field of hydra.python.syntax.ComplexNumber+complexNumberWithImaginary :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Syntax.ComplexNumber+complexNumberWithImaginary original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "real"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+              Model.projectionFieldName = (Model.Name "real")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "plusOrMinus"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+              Model.projectionFieldName = (Model.Name "plusOrMinus")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "imaginary"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the plusOrMinus field of hydra.python.syntax.ComplexNumber+complexNumberWithPlusOrMinus :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.ComplexNumber+complexNumberWithPlusOrMinus original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "real"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+              Model.projectionFieldName = (Model.Name "real")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "plusOrMinus"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "imaginary"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+              Model.projectionFieldName = (Model.Name "imaginary")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the real field of hydra.python.syntax.ComplexNumber+complexNumberWithReal :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.SignedRealNumber -> Typed.TypedTerm Syntax.ComplexNumber+complexNumberWithReal original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "real"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "plusOrMinus"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+              Model.projectionFieldName = (Model.Name "plusOrMinus")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "imaginary"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ComplexNumber"),+              Model.projectionFieldName = (Model.Name "imaginary")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the classDef variant of hydra.python.syntax.CompoundStatement+compoundStatementClassDef :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementClassDef x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "classDef"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.CompoundStatement+compoundStatementCompoundStatement :: Typed.TypedName Syntax.CompoundStatement+compoundStatementCompoundStatement = Typed.TypedName (Model.Name "hydra.python.syntax.CompoundStatement")++-- | DSL injection for the for variant of hydra.python.syntax.CompoundStatement+compoundStatementFor :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementFor x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "for"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the function variant of hydra.python.syntax.CompoundStatement+compoundStatementFunction :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementFunction x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "function"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the if variant of hydra.python.syntax.CompoundStatement+compoundStatementIf :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementIf x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "if"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the match variant of hydra.python.syntax.CompoundStatement+compoundStatementMatch :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementMatch x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "match"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the try variant of hydra.python.syntax.CompoundStatement+compoundStatementTry :: Typed.TypedTerm Syntax.TryStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementTry x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "try"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the while variant of hydra.python.syntax.CompoundStatement+compoundStatementWhile :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementWhile x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "while"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the with variant of hydra.python.syntax.CompoundStatement+compoundStatementWith :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.CompoundStatement+compoundStatementWith x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.CompoundStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "with"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.Conditional+conditional :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Conditional+conditional body if_ else_ =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Conditional"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)},+        Model.Field {+          Model.fieldName = (Model.Name "if"),+          Model.fieldTerm = (Typed.unTypedTerm if_)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm else_)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.Conditional+conditionalBody :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction+conditionalBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Conditional+conditionalConditional :: Typed.TypedName Syntax.Conditional+conditionalConditional = Typed.TypedName (Model.Name "hydra.python.syntax.Conditional")++-- | DSL accessor for the else field of hydra.python.syntax.Conditional+conditionalElse :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression+conditionalElse x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+        Model.projectionFieldName = (Model.Name "else")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the if field of hydra.python.syntax.Conditional+conditionalIf :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction+conditionalIf x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+        Model.projectionFieldName = (Model.Name "if")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.python.syntax.Conditional+conditionalWithBody :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Conditional+conditionalWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Conditional"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "if"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+              Model.projectionFieldName = (Model.Name "if")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.Conditional+conditionalWithElse :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Conditional+conditionalWithElse original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Conditional"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "if"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+              Model.projectionFieldName = (Model.Name "if")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the if field of hydra.python.syntax.Conditional+conditionalWithIf :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Conditional+conditionalWithIf original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Conditional"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "if"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Conditional"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.Conjunction wrapper+conjunction :: Typed.TypedTerm [Syntax.Inversion] -> Typed.TypedTerm Syntax.Conjunction+conjunction x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Conjunction"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Conjunction+conjunctionConjunction :: Typed.TypedName Syntax.Conjunction+conjunctionConjunction = Typed.TypedName (Model.Name "hydra.python.syntax.Conjunction")++-- | DSL constructor for the hydra.python.syntax.Decorators wrapper+decorators :: Typed.TypedTerm [Syntax.NamedExpression] -> Typed.TypedTerm Syntax.Decorators+decorators x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Decorators"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Decorators+decoratorsDecorators :: Typed.TypedName Syntax.Decorators+decoratorsDecorators = Typed.TypedName (Model.Name "hydra.python.syntax.Decorators")++-- | DSL constructor for the hydra.python.syntax.Default wrapper+default_ :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Default+default_ x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Default"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Default+defaultDefault :: Typed.TypedName Syntax.Default+defaultDefault = Typed.TypedName (Model.Name "hydra.python.syntax.Default")++-- | DSL constructor for the hydra.python.syntax.DelStatement wrapper+delStatement :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm Syntax.DelStatement+delStatement x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.DelStatement"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DelStatement+delStatementDelStatement :: Typed.TypedName Syntax.DelStatement+delStatementDelStatement = Typed.TypedName (Model.Name "hydra.python.syntax.DelStatement")++-- | DSL name token for hydra.python.syntax.DelTAtom+delTAtomDelTAtom :: Typed.TypedName Syntax.DelTAtom+delTAtomDelTAtom = Typed.TypedName (Model.Name "hydra.python.syntax.DelTAtom")++-- | DSL injection for the name variant of hydra.python.syntax.DelTAtom+delTAtomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.DelTAtom+delTAtomName x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "name"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the target variant of hydra.python.syntax.DelTAtom+delTAtomTarget :: Typed.TypedTerm Syntax.DelTarget -> Typed.TypedTerm Syntax.DelTAtom+delTAtomTarget x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "target"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the targets variant of hydra.python.syntax.DelTAtom+delTAtomTargets :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm Syntax.DelTAtom+delTAtomTargets x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "targets"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the delTAtom variant of hydra.python.syntax.DelTarget+delTargetDelTAtom :: Typed.TypedTerm Syntax.DelTAtom -> Typed.TypedTerm Syntax.DelTarget+delTargetDelTAtom x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "delTAtom"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.DelTarget+delTargetDelTarget :: Typed.TypedName Syntax.DelTarget+delTargetDelTarget = Typed.TypedName (Model.Name "hydra.python.syntax.DelTarget")++-- | DSL injection for the primaryAndName variant of hydra.python.syntax.DelTarget+delTargetPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.DelTarget+delTargetPrimaryAndName x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "primaryAndName"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.DelTarget+delTargetPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.DelTarget+delTargetPrimaryAndSlices x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.DelTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "primaryAndSlices"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.DelTargets wrapper+delTargets :: Typed.TypedTerm [Syntax.DelTarget] -> Typed.TypedTerm Syntax.DelTargets+delTargets x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.DelTargets"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DelTargets+delTargetsDelTargets :: Typed.TypedName Syntax.DelTargets+delTargetsDelTargets = Typed.TypedName (Model.Name "hydra.python.syntax.DelTargets")++-- | DSL constructor for the hydra.python.syntax.Dict wrapper+dict :: Typed.TypedTerm [Syntax.DoubleStarredKvpair] -> Typed.TypedTerm Syntax.Dict+dict x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Dict"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Dict+dictDict :: Typed.TypedName Syntax.Dict+dictDict = Typed.TypedName (Model.Name "hydra.python.syntax.Dict")++-- | DSL constructor for hydra.python.syntax.Dictcomp+dictcomp :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Dictcomp+dictcomp kvpair forIfClauses =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "kvpair"),+          Model.fieldTerm = (Typed.unTypedTerm kvpair)},+        Model.Field {+          Model.fieldName = (Model.Name "forIfClauses"),+          Model.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))++-- | DSL name token for hydra.python.syntax.Dictcomp+dictcompDictcomp :: Typed.TypedName Syntax.Dictcomp+dictcompDictcomp = Typed.TypedName (Model.Name "hydra.python.syntax.Dictcomp")++-- | DSL accessor for the forIfClauses field of hydra.python.syntax.Dictcomp+dictcompForIfClauses :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.ForIfClauses+dictcompForIfClauses x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+        Model.projectionFieldName = (Model.Name "forIfClauses")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the kvpair field of hydra.python.syntax.Dictcomp+dictcompKvpair :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Kvpair+dictcompKvpair x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+        Model.projectionFieldName = (Model.Name "kvpair")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the forIfClauses field of hydra.python.syntax.Dictcomp+dictcompWithForIfClauses :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Dictcomp+dictcompWithForIfClauses original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "kvpair"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+              Model.projectionFieldName = (Model.Name "kvpair")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "forIfClauses"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the kvpair field of hydra.python.syntax.Dictcomp+dictcompWithKvpair :: Typed.TypedTerm Syntax.Dictcomp -> Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Dictcomp+dictcompWithKvpair original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "kvpair"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "forIfClauses"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Dictcomp"),+              Model.projectionFieldName = (Model.Name "forIfClauses")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.Disjunction wrapper+disjunction :: Typed.TypedTerm [Syntax.Conjunction] -> Typed.TypedTerm Syntax.Disjunction+disjunction x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Disjunction"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Disjunction+disjunctionDisjunction :: Typed.TypedName Syntax.Disjunction+disjunctionDisjunction = Typed.TypedName (Model.Name "hydra.python.syntax.Disjunction")++-- | DSL constructor for hydra.python.syntax.DottedAsName+dottedAsName :: Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.DottedAsName+dottedAsName name as =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.DottedAsName+dottedAsNameAs :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm (Maybe Syntax.Name)+dottedAsNameAs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+        Model.projectionFieldName = (Model.Name "as")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DottedAsName+dottedAsNameDottedAsName :: Typed.TypedName Syntax.DottedAsName+dottedAsNameDottedAsName = Typed.TypedName (Model.Name "hydra.python.syntax.DottedAsName")++-- | DSL accessor for the name field of hydra.python.syntax.DottedAsName+dottedAsNameName :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm Syntax.DottedName+dottedAsNameName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.DottedAsName+dottedAsNameWithAs :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.DottedAsName+dottedAsNameWithAs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.DottedAsName+dottedAsNameWithName :: Typed.TypedTerm Syntax.DottedAsName -> Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm Syntax.DottedAsName+dottedAsNameWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.DottedAsName"),+              Model.projectionFieldName = (Model.Name "as")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.DottedName wrapper+dottedName :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.DottedName+dottedName x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.DottedName"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DottedName+dottedNameDottedName :: Typed.TypedName Syntax.DottedName+dottedNameDottedName = Typed.TypedName (Model.Name "hydra.python.syntax.DottedName")++-- | DSL constructor for the hydra.python.syntax.DoubleStarPattern wrapper+doubleStarPattern :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.DoubleStarPattern+doubleStarPattern x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.DoubleStarPattern"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DoubleStarPattern+doubleStarPatternDoubleStarPattern :: Typed.TypedName Syntax.DoubleStarPattern+doubleStarPatternDoubleStarPattern = Typed.TypedName (Model.Name "hydra.python.syntax.DoubleStarPattern")++-- | DSL constructor for hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.DoubleStarTypeParameter+doubleStarTypeParameter name default_ =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterDefault :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)+doubleStarTypeParameterDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+        Model.projectionFieldName = (Model.Name "default")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterDoubleStarTypeParameter :: Typed.TypedName Syntax.DoubleStarTypeParameter+doubleStarTypeParameterDoubleStarTypeParameter =+    Typed.TypedName (Model.Name "hydra.python.syntax.DoubleStarTypeParameter")++-- | DSL accessor for the name field of hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterName :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.Name+doubleStarTypeParameterName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterWithDefault :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.DoubleStarTypeParameter+doubleStarTypeParameterWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.DoubleStarTypeParameter+doubleStarTypeParameterWithName :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.DoubleStarTypeParameter+doubleStarTypeParameterWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarTypeParameter"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.python.syntax.DoubleStarredKvpair+doubleStarredKvpairDoubleStarredKvpair :: Typed.TypedName Syntax.DoubleStarredKvpair+doubleStarredKvpairDoubleStarredKvpair = Typed.TypedName (Model.Name "hydra.python.syntax.DoubleStarredKvpair")++-- | DSL injection for the pair variant of hydra.python.syntax.DoubleStarredKvpair+doubleStarredKvpairPair :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.DoubleStarredKvpair+doubleStarredKvpairPair x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarredKvpair"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "pair"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starred variant of hydra.python.syntax.DoubleStarredKvpair+doubleStarredKvpairStarred :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.DoubleStarredKvpair+doubleStarredKvpairStarred x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.DoubleStarredKvpair"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starred"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Eval wrapper+eval :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Eval+eval x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Eval"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Eval+evalEval :: Typed.TypedName Syntax.Eval+evalEval = Typed.TypedName (Model.Name "hydra.python.syntax.Eval")++-- | DSL constructor for hydra.python.syntax.ExceptBlock+exceptBlock :: Typed.TypedTerm (Maybe Syntax.ExceptExpression) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptBlock+exceptBlock expression body =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm expression)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.ExceptBlock+exceptBlockBody :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm Syntax.Block+exceptBlockBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ExceptBlock+exceptBlockExceptBlock :: Typed.TypedName Syntax.ExceptBlock+exceptBlockExceptBlock = Typed.TypedName (Model.Name "hydra.python.syntax.ExceptBlock")++-- | DSL accessor for the expression field of hydra.python.syntax.ExceptBlock+exceptBlockExpression :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm (Maybe Syntax.ExceptExpression)+exceptBlockExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+        Model.projectionFieldName = (Model.Name "expression")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the body field of hydra.python.syntax.ExceptBlock+exceptBlockWithBody :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptBlock+exceptBlockWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.python.syntax.ExceptBlock+exceptBlockWithExpression :: Typed.TypedTerm Syntax.ExceptBlock -> Typed.TypedTerm (Maybe Syntax.ExceptExpression) -> Typed.TypedTerm Syntax.ExceptBlock+exceptBlockWithExpression original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptBlock"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.ExceptExpression+exceptExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptExpression+exceptExpression expression as =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm expression)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.ExceptExpression+exceptExpressionAs :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm (Maybe Syntax.Name)+exceptExpressionAs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+        Model.projectionFieldName = (Model.Name "as")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ExceptExpression+exceptExpressionExceptExpression :: Typed.TypedName Syntax.ExceptExpression+exceptExpressionExceptExpression = Typed.TypedName (Model.Name "hydra.python.syntax.ExceptExpression")++-- | DSL accessor for the expression field of hydra.python.syntax.ExceptExpression+exceptExpressionExpression :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm Syntax.Expression+exceptExpressionExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+        Model.projectionFieldName = (Model.Name "expression")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.ExceptExpression+exceptExpressionWithAs :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptExpression+exceptExpressionWithAs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.python.syntax.ExceptExpression+exceptExpressionWithExpression :: Typed.TypedTerm Syntax.ExceptExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ExceptExpression+exceptExpressionWithExpression original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptExpression"),+              Model.projectionFieldName = (Model.Name "as")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.ExceptStarBlock+exceptStarBlock :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptStarBlock+exceptStarBlock expression as body =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm expression)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm as)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockAs :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm (Maybe Syntax.Name)+exceptStarBlockAs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+        Model.projectionFieldName = (Model.Name "as")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockBody :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Block+exceptStarBlockBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ExceptStarBlock+exceptStarBlockExceptStarBlock :: Typed.TypedName Syntax.ExceptStarBlock+exceptStarBlockExceptStarBlock = Typed.TypedName (Model.Name "hydra.python.syntax.ExceptStarBlock")++-- | DSL accessor for the expression field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockExpression :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Expression+exceptStarBlockExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+        Model.projectionFieldName = (Model.Name "expression")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockWithAs :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ExceptStarBlock+exceptStarBlockWithAs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockWithBody :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ExceptStarBlock+exceptStarBlockWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+              Model.projectionFieldName = (Model.Name "as")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.python.syntax.ExceptStarBlock+exceptStarBlockWithExpression :: Typed.TypedTerm Syntax.ExceptStarBlock -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.ExceptStarBlock+exceptStarBlockWithExpression original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+              Model.projectionFieldName = (Model.Name "as")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ExceptStarBlock"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the conditional variant of hydra.python.syntax.Expression+expressionConditional :: Typed.TypedTerm Syntax.Conditional -> Typed.TypedTerm Syntax.Expression+expressionConditional x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Expression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "conditional"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Expression+expressionExpression :: Typed.TypedName Syntax.Expression+expressionExpression = Typed.TypedName (Model.Name "hydra.python.syntax.Expression")++-- | DSL injection for the lambda variant of hydra.python.syntax.Expression+expressionLambda :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression+expressionLambda x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Expression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "lambda"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Expression+expressionSimple :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.Expression+expressionSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Expression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the complement variant of hydra.python.syntax.Factor+factorComplement :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor+factorComplement x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Factor"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "complement"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Factor+factorFactor :: Typed.TypedName Syntax.Factor+factorFactor = Typed.TypedName (Model.Name "hydra.python.syntax.Factor")++-- | DSL injection for the negative variant of hydra.python.syntax.Factor+factorNegative :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor+factorNegative x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Factor"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "negative"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the positive variant of hydra.python.syntax.Factor+factorPositive :: Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Factor+factorPositive x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Factor"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "positive"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Factor+factorSimple :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.Factor+factorSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Factor"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.File wrapper+file :: Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm Syntax.File+file x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.File"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.File+fileFile :: Typed.TypedName Syntax.File+fileFile = Typed.TypedName (Model.Name "hydra.python.syntax.File")++-- | DSL constructor for hydra.python.syntax.ForIfClause+forIfClause :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm [Syntax.Disjunction] -> Typed.TypedTerm Syntax.ForIfClause+forIfClause async targets in_ ifs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Typed.unTypedTerm async)},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Typed.unTypedTerm targets)},+        Model.Field {+          Model.fieldName = (Model.Name "in"),+          Model.fieldTerm = (Typed.unTypedTerm in_)},+        Model.Field {+          Model.fieldName = (Model.Name "ifs"),+          Model.fieldTerm = (Typed.unTypedTerm ifs)}]}))++-- | DSL accessor for the async field of hydra.python.syntax.ForIfClause+forIfClauseAsync :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Bool+forIfClauseAsync x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+        Model.projectionFieldName = (Model.Name "async")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ForIfClause+forIfClauseForIfClause :: Typed.TypedName Syntax.ForIfClause+forIfClauseForIfClause = Typed.TypedName (Model.Name "hydra.python.syntax.ForIfClause")++-- | DSL accessor for the ifs field of hydra.python.syntax.ForIfClause+forIfClauseIfs :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.Disjunction]+forIfClauseIfs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+        Model.projectionFieldName = (Model.Name "ifs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the in field of hydra.python.syntax.ForIfClause+forIfClauseIn :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Syntax.Disjunction+forIfClauseIn x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+        Model.projectionFieldName = (Model.Name "in")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the targets field of hydra.python.syntax.ForIfClause+forIfClauseTargets :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.StarTarget]+forIfClauseTargets x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+        Model.projectionFieldName = (Model.Name "targets")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.python.syntax.ForIfClause+forIfClauseWithAsync :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ForIfClause+forIfClauseWithAsync original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "in"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "in")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "ifs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "ifs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the ifs field of hydra.python.syntax.ForIfClause+forIfClauseWithIfs :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.Disjunction] -> Typed.TypedTerm Syntax.ForIfClause+forIfClauseWithIfs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "in"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "in")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "ifs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the in field of hydra.python.syntax.ForIfClause+forIfClauseWithIn :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm Syntax.ForIfClause+forIfClauseWithIn original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "in"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "ifs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "ifs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the targets field of hydra.python.syntax.ForIfClause+forIfClauseWithTargets :: Typed.TypedTerm Syntax.ForIfClause -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.ForIfClause+forIfClauseWithTargets original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "in"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "in")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "ifs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForIfClause"),+              Model.projectionFieldName = (Model.Name "ifs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.ForIfClauses wrapper+forIfClauses :: Typed.TypedTerm [Syntax.ForIfClause] -> Typed.TypedTerm Syntax.ForIfClauses+forIfClauses x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ForIfClauses"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ForIfClauses+forIfClausesForIfClauses :: Typed.TypedName Syntax.ForIfClauses+forIfClausesForIfClauses = Typed.TypedName (Model.Name "hydra.python.syntax.ForIfClauses")++-- | DSL constructor for hydra.python.syntax.ForStatement+forStatement :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.ForStatement+forStatement async targets expressions typeComment body else_ =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Typed.unTypedTerm async)},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Typed.unTypedTerm targets)},+        Model.Field {+          Model.fieldName = (Model.Name "expressions"),+          Model.fieldTerm = (Typed.unTypedTerm expressions)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm typeComment)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm else_)}]}))++-- | DSL accessor for the async field of hydra.python.syntax.ForStatement+forStatementAsync :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Bool+forStatementAsync x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+        Model.projectionFieldName = (Model.Name "async")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.python.syntax.ForStatement+forStatementBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Block+forStatementBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the else field of hydra.python.syntax.ForStatement+forStatementElse :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.Block)+forStatementElse x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+        Model.projectionFieldName = (Model.Name "else")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expressions field of hydra.python.syntax.ForStatement+forStatementExpressions :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarExpression]+forStatementExpressions x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+        Model.projectionFieldName = (Model.Name "expressions")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ForStatement+forStatementForStatement :: Typed.TypedName Syntax.ForStatement+forStatementForStatement = Typed.TypedName (Model.Name "hydra.python.syntax.ForStatement")++-- | DSL accessor for the targets field of hydra.python.syntax.ForStatement+forStatementTargets :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarTarget]+forStatementTargets x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+        Model.projectionFieldName = (Model.Name "targets")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.ForStatement+forStatementTypeComment :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment)+forStatementTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+        Model.projectionFieldName = (Model.Name "typeComment")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.python.syntax.ForStatement+forStatementWithAsync :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.ForStatement+forStatementWithAsync original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "expressions"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "expressions")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.python.syntax.ForStatement+forStatementWithBody :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.ForStatement+forStatementWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "expressions"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "expressions")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.ForStatement+forStatementWithElse :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.ForStatement+forStatementWithElse original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "expressions"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "expressions")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expressions field of hydra.python.syntax.ForStatement+forStatementWithExpressions :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.ForStatement+forStatementWithExpressions original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "expressions"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the targets field of hydra.python.syntax.ForStatement+forStatementWithTargets :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.ForStatement+forStatementWithTargets original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "expressions"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "expressions")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ForStatement+forStatementWithTypeComment :: Typed.TypedTerm Syntax.ForStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ForStatement+forStatementWithTypeComment original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "expressions"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "expressions")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ForStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.FuncTypeComment wrapper+funcTypeComment :: Typed.TypedTerm Syntax.TypeComment -> Typed.TypedTerm Syntax.FuncTypeComment+funcTypeComment x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.FuncTypeComment"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.FuncTypeComment+funcTypeCommentFuncTypeComment :: Typed.TypedName Syntax.FuncTypeComment+funcTypeCommentFuncTypeComment = Typed.TypedName (Model.Name "hydra.python.syntax.FuncTypeComment")++-- | DSL constructor for hydra.python.syntax.FunctionDefRaw+functionDefRaw :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe Syntax.Parameters) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRaw async name typeParams params returnType funcTypeComment block =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Typed.unTypedTerm async)},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Typed.unTypedTerm typeParams)},+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Typed.unTypedTerm params)},+        Model.Field {+          Model.fieldName = (Model.Name "returnType"),+          Model.fieldTerm = (Typed.unTypedTerm returnType)},+        Model.Field {+          Model.fieldName = (Model.Name "funcTypeComment"),+          Model.fieldTerm = (Typed.unTypedTerm funcTypeComment)},+        Model.Field {+          Model.fieldName = (Model.Name "block"),+          Model.fieldTerm = (Typed.unTypedTerm block)}]}))++-- | DSL accessor for the async field of hydra.python.syntax.FunctionDefRaw+functionDefRawAsync :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Bool+functionDefRawAsync x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+        Model.projectionFieldName = (Model.Name "async")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the block field of hydra.python.syntax.FunctionDefRaw+functionDefRawBlock :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Block+functionDefRawBlock x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+        Model.projectionFieldName = (Model.Name "block")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the funcTypeComment field of hydra.python.syntax.FunctionDefRaw+functionDefRawFuncTypeComment :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment)+functionDefRawFuncTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+        Model.projectionFieldName = (Model.Name "funcTypeComment")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.FunctionDefRaw+functionDefRawFunctionDefRaw :: Typed.TypedName Syntax.FunctionDefRaw+functionDefRawFunctionDefRaw = Typed.TypedName (Model.Name "hydra.python.syntax.FunctionDefRaw")++-- | DSL accessor for the name field of hydra.python.syntax.FunctionDefRaw+functionDefRawName :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Name+functionDefRawName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the params field of hydra.python.syntax.FunctionDefRaw+functionDefRawParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Parameters)+functionDefRawParams x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+        Model.projectionFieldName = (Model.Name "params")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the returnType field of hydra.python.syntax.FunctionDefRaw+functionDefRawReturnType :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Expression)+functionDefRawReturnType x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+        Model.projectionFieldName = (Model.Name "returnType")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeParams field of hydra.python.syntax.FunctionDefRaw+functionDefRawTypeParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm [Syntax.TypeParameter]+functionDefRawTypeParams x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+        Model.projectionFieldName = (Model.Name "typeParams")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithAsync :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithAsync original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "params")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "returnType"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "returnType")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "funcTypeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "funcTypeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "block"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "block")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the block field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithBlock :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithBlock original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "params")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "returnType"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "returnType")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "funcTypeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "funcTypeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "block"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the funcTypeComment field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithFuncTypeComment :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.FuncTypeComment) -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithFuncTypeComment original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "params")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "returnType"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "returnType")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "funcTypeComment"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "block"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "block")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the name field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithName :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "params")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "returnType"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "returnType")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "funcTypeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "funcTypeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "block"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "block")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the params field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Parameters) -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithParams original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "returnType"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "returnType")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "funcTypeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "funcTypeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "block"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "block")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the returnType field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithReturnType :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithReturnType original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "params")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "returnType"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "funcTypeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "funcTypeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "block"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "block")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParams field of hydra.python.syntax.FunctionDefRaw+functionDefRawWithTypeParams :: Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefRawWithTypeParams original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "params")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "returnType"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "returnType")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "funcTypeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "funcTypeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "block"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefRaw"),+              Model.projectionFieldName = (Model.Name "block")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.FunctionDefinition+functionDefinition :: Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.FunctionDefinition+functionDefinition decorators raw =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "decorators"),+          Model.fieldTerm = (Typed.unTypedTerm decorators)},+        Model.Field {+          Model.fieldName = (Model.Name "raw"),+          Model.fieldTerm = (Typed.unTypedTerm raw)}]}))++-- | DSL accessor for the decorators field of hydra.python.syntax.FunctionDefinition+functionDefinitionDecorators :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators)+functionDefinitionDecorators x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+        Model.projectionFieldName = (Model.Name "decorators")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.FunctionDefinition+functionDefinitionFunctionDefinition :: Typed.TypedName Syntax.FunctionDefinition+functionDefinitionFunctionDefinition = Typed.TypedName (Model.Name "hydra.python.syntax.FunctionDefinition")++-- | DSL accessor for the raw field of hydra.python.syntax.FunctionDefinition+functionDefinitionRaw :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.FunctionDefRaw+functionDefinitionRaw x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+        Model.projectionFieldName = (Model.Name "raw")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the decorators field of hydra.python.syntax.FunctionDefinition+functionDefinitionWithDecorators :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm (Maybe Syntax.Decorators) -> Typed.TypedTerm Syntax.FunctionDefinition+functionDefinitionWithDecorators original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "decorators"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "raw"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+              Model.projectionFieldName = (Model.Name "raw")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the raw field of hydra.python.syntax.FunctionDefinition+functionDefinitionWithRaw :: Typed.TypedTerm Syntax.FunctionDefinition -> Typed.TypedTerm Syntax.FunctionDefRaw -> Typed.TypedTerm Syntax.FunctionDefinition+functionDefinitionWithRaw original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "decorators"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.FunctionDefinition"),+              Model.projectionFieldName = (Model.Name "decorators")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "raw"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.Genexp+genexp :: Typed.TypedTerm Syntax.GenexpHead -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Genexp+genexp head tail =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Genexp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "head"),+          Model.fieldTerm = (Typed.unTypedTerm head)},+        Model.Field {+          Model.fieldName = (Model.Name "tail"),+          Model.fieldTerm = (Typed.unTypedTerm tail)}]}))++-- | DSL name token for hydra.python.syntax.Genexp+genexpGenexp :: Typed.TypedName Syntax.Genexp+genexpGenexp = Typed.TypedName (Model.Name "hydra.python.syntax.Genexp")++-- | DSL accessor for the head field of hydra.python.syntax.Genexp+genexpHead :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.GenexpHead+genexpHead x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Genexp"),+        Model.projectionFieldName = (Model.Name "head")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the assignment variant of hydra.python.syntax.GenexpHead+genexpHeadAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.GenexpHead+genexpHeadAssignment x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.GenexpHead"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "assignment"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.python.syntax.GenexpHead+genexpHeadExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.GenexpHead+genexpHeadExpression x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.GenexpHead"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "expression"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.GenexpHead+genexpHeadGenexpHead :: Typed.TypedName Syntax.GenexpHead+genexpHeadGenexpHead = Typed.TypedName (Model.Name "hydra.python.syntax.GenexpHead")++-- | DSL accessor for the tail field of hydra.python.syntax.Genexp+genexpTail :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.ForIfClauses+genexpTail x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Genexp"),+        Model.projectionFieldName = (Model.Name "tail")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the head field of hydra.python.syntax.Genexp+genexpWithHead :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.GenexpHead -> Typed.TypedTerm Syntax.Genexp+genexpWithHead original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Genexp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "head"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "tail"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Genexp"),+              Model.projectionFieldName = (Model.Name "tail")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the tail field of hydra.python.syntax.Genexp+genexpWithTail :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Genexp+genexpWithTail original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Genexp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "head"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Genexp"),+              Model.projectionFieldName = (Model.Name "head")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "tail"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the expression variant of hydra.python.syntax.Group+groupExpression :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Group+groupExpression x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Group"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "expression"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Group+groupGroup :: Typed.TypedName Syntax.Group+groupGroup = Typed.TypedName (Model.Name "hydra.python.syntax.Group")++-- | DSL constructor for the hydra.python.syntax.GroupPattern wrapper+groupPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.GroupPattern+groupPattern x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.GroupPattern"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.GroupPattern+groupPatternGroupPattern :: Typed.TypedName Syntax.GroupPattern+groupPatternGroupPattern = Typed.TypedName (Model.Name "hydra.python.syntax.GroupPattern")++-- | DSL injection for the yield variant of hydra.python.syntax.Group+groupYield :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.Group+groupYield x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Group"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "yield"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Guard wrapper+guard :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Guard+guard x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Guard"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Guard+guardGuard :: Typed.TypedName Syntax.Guard+guardGuard = Typed.TypedName (Model.Name "hydra.python.syntax.Guard")++-- | DSL constructor for hydra.python.syntax.IfStatement+ifStatement :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.IfTail) -> Typed.TypedTerm Syntax.IfStatement+ifStatement condition body continuation =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "condition"),+          Model.fieldTerm = (Typed.unTypedTerm condition)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)},+        Model.Field {+          Model.fieldName = (Model.Name "continuation"),+          Model.fieldTerm = (Typed.unTypedTerm continuation)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.IfStatement+ifStatementBody :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.Block+ifStatementBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the condition field of hydra.python.syntax.IfStatement+ifStatementCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.NamedExpression+ifStatementCondition x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+        Model.projectionFieldName = (Model.Name "condition")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the continuation field of hydra.python.syntax.IfStatement+ifStatementContinuation :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm (Maybe Syntax.IfTail)+ifStatementContinuation x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+        Model.projectionFieldName = (Model.Name "continuation")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.IfStatement+ifStatementIfStatement :: Typed.TypedName Syntax.IfStatement+ifStatementIfStatement = Typed.TypedName (Model.Name "hydra.python.syntax.IfStatement")++-- | DSL updater for the body field of hydra.python.syntax.IfStatement+ifStatementWithBody :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.IfStatement+ifStatementWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "condition"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+              Model.projectionFieldName = (Model.Name "condition")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "continuation"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+              Model.projectionFieldName = (Model.Name "continuation")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the condition field of hydra.python.syntax.IfStatement+ifStatementWithCondition :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.IfStatement+ifStatementWithCondition original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "condition"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "continuation"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+              Model.projectionFieldName = (Model.Name "continuation")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the continuation field of hydra.python.syntax.IfStatement+ifStatementWithContinuation :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm (Maybe Syntax.IfTail) -> Typed.TypedTerm Syntax.IfStatement+ifStatementWithContinuation original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "condition"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+              Model.projectionFieldName = (Model.Name "condition")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.IfStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "continuation"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the elif variant of hydra.python.syntax.IfTail+ifTailElif :: Typed.TypedTerm Syntax.IfStatement -> Typed.TypedTerm Syntax.IfTail+ifTailElif x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.IfTail"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "elif"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the else variant of hydra.python.syntax.IfTail+ifTailElse :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.IfTail+ifTailElse x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.IfTail"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "else"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.IfTail+ifTailIfTail :: Typed.TypedName Syntax.IfTail+ifTailIfTail = Typed.TypedName (Model.Name "hydra.python.syntax.IfTail")++-- | DSL constructor for the hydra.python.syntax.ImaginaryNumber wrapper+imaginaryNumber :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.ImaginaryNumber+imaginaryNumber x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ImaginaryNumber"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImaginaryNumber+imaginaryNumberImaginaryNumber :: Typed.TypedName Syntax.ImaginaryNumber+imaginaryNumberImaginaryNumber = Typed.TypedName (Model.Name "hydra.python.syntax.ImaginaryNumber")++-- | DSL constructor for hydra.python.syntax.ImportFrom+importFrom :: Typed.TypedTerm [Syntax.RelativeImportPrefix] -> Typed.TypedTerm (Maybe Syntax.DottedName) -> Typed.TypedTerm Syntax.ImportFromTargets -> Typed.TypedTerm Syntax.ImportFrom+importFrom prefixes dottedName targets =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "prefixes"),+          Model.fieldTerm = (Typed.unTypedTerm prefixes)},+        Model.Field {+          Model.fieldName = (Model.Name "dottedName"),+          Model.fieldTerm = (Typed.unTypedTerm dottedName)},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Typed.unTypedTerm targets)}]}))++-- | DSL constructor for hydra.python.syntax.ImportFromAsName+importFromAsName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ImportFromAsName+importFromAsName name as =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.ImportFromAsName+importFromAsNameAs :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm (Maybe Syntax.Name)+importFromAsNameAs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+        Model.projectionFieldName = (Model.Name "as")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImportFromAsName+importFromAsNameImportFromAsName :: Typed.TypedName Syntax.ImportFromAsName+importFromAsNameImportFromAsName = Typed.TypedName (Model.Name "hydra.python.syntax.ImportFromAsName")++-- | DSL accessor for the name field of hydra.python.syntax.ImportFromAsName+importFromAsNameName :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm Syntax.Name+importFromAsNameName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.ImportFromAsName+importFromAsNameWithAs :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm (Maybe Syntax.Name) -> Typed.TypedTerm Syntax.ImportFromAsName+importFromAsNameWithAs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.ImportFromAsName+importFromAsNameWithName :: Typed.TypedTerm Syntax.ImportFromAsName -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ImportFromAsName+importFromAsNameWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFromAsName"),+              Model.projectionFieldName = (Model.Name "as")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the dottedName field of hydra.python.syntax.ImportFrom+importFromDottedName :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm (Maybe Syntax.DottedName)+importFromDottedName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+        Model.projectionFieldName = (Model.Name "dottedName")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImportFrom+importFromImportFrom :: Typed.TypedName Syntax.ImportFrom+importFromImportFrom = Typed.TypedName (Model.Name "hydra.python.syntax.ImportFrom")++-- | DSL accessor for the prefixes field of hydra.python.syntax.ImportFrom+importFromPrefixes :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm [Syntax.RelativeImportPrefix]+importFromPrefixes x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+        Model.projectionFieldName = (Model.Name "prefixes")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the targets field of hydra.python.syntax.ImportFrom+importFromTargets :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportFromTargets+importFromTargets x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+        Model.projectionFieldName = (Model.Name "targets")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImportFromTargets+importFromTargetsImportFromTargets :: Typed.TypedName Syntax.ImportFromTargets+importFromTargetsImportFromTargets = Typed.TypedName (Model.Name "hydra.python.syntax.ImportFromTargets")++-- | DSL injection for the parens variant of hydra.python.syntax.ImportFromTargets+importFromTargetsParens :: Typed.TypedTerm [Syntax.ImportFromAsName] -> Typed.TypedTerm Syntax.ImportFromTargets+importFromTargetsParens x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportFromTargets"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "parens"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.ImportFromTargets+importFromTargetsSimple :: Typed.TypedTerm [Syntax.ImportFromAsName] -> Typed.TypedTerm Syntax.ImportFromTargets+importFromTargetsSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportFromTargets"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.ImportFromTargets+importFromTargetsStar :: Typed.TypedTerm Syntax.ImportFromTargets+importFromTargetsStar =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportFromTargets"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "star"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL updater for the dottedName field of hydra.python.syntax.ImportFrom+importFromWithDottedName :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm (Maybe Syntax.DottedName) -> Typed.TypedTerm Syntax.ImportFrom+importFromWithDottedName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "prefixes"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+              Model.projectionFieldName = (Model.Name "prefixes")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "dottedName"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the prefixes field of hydra.python.syntax.ImportFrom+importFromWithPrefixes :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm [Syntax.RelativeImportPrefix] -> Typed.TypedTerm Syntax.ImportFrom+importFromWithPrefixes original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "prefixes"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "dottedName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+              Model.projectionFieldName = (Model.Name "dottedName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the targets field of hydra.python.syntax.ImportFrom+importFromWithTargets :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportFromTargets -> Typed.TypedTerm Syntax.ImportFrom+importFromWithTargets original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "prefixes"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+              Model.projectionFieldName = (Model.Name "prefixes")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "dottedName"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ImportFrom"),+              Model.projectionFieldName = (Model.Name "dottedName")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.ImportName wrapper+importName :: Typed.TypedTerm [Syntax.DottedAsName] -> Typed.TypedTerm Syntax.ImportName+importName x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ImportName"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ImportName+importNameImportName :: Typed.TypedName Syntax.ImportName+importNameImportName = Typed.TypedName (Model.Name "hydra.python.syntax.ImportName")++-- | DSL injection for the from variant of hydra.python.syntax.ImportStatement+importStatementFrom :: Typed.TypedTerm Syntax.ImportFrom -> Typed.TypedTerm Syntax.ImportStatement+importStatementFrom x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "from"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.ImportStatement+importStatementImportStatement :: Typed.TypedName Syntax.ImportStatement+importStatementImportStatement = Typed.TypedName (Model.Name "hydra.python.syntax.ImportStatement")++-- | DSL injection for the name variant of hydra.python.syntax.ImportStatement+importStatementName :: Typed.TypedTerm Syntax.ImportName -> Typed.TypedTerm Syntax.ImportStatement+importStatementName x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ImportStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "name"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Interactive wrapper+interactive :: Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.Interactive+interactive x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Interactive"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Interactive+interactiveInteractive :: Typed.TypedName Syntax.Interactive+interactiveInteractive = Typed.TypedName (Model.Name "hydra.python.syntax.Interactive")++-- | DSL name token for hydra.python.syntax.Inversion+inversionInversion :: Typed.TypedName Syntax.Inversion+inversionInversion = Typed.TypedName (Model.Name "hydra.python.syntax.Inversion")++-- | DSL injection for the not variant of hydra.python.syntax.Inversion+inversionNot :: Typed.TypedTerm Syntax.Inversion -> Typed.TypedTerm Syntax.Inversion+inversionNot x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Inversion"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "not"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Inversion+inversionSimple :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm Syntax.Inversion+inversionSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Inversion"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.ItemsPattern wrapper+itemsPattern :: Typed.TypedTerm [Syntax.KeyValuePattern] -> Typed.TypedTerm Syntax.ItemsPattern+itemsPattern x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ItemsPattern"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ItemsPattern+itemsPatternItemsPattern :: Typed.TypedName Syntax.ItemsPattern+itemsPatternItemsPattern = Typed.TypedName (Model.Name "hydra.python.syntax.ItemsPattern")++-- | DSL constructor for hydra.python.syntax.KeyValuePattern+keyValuePattern :: Typed.TypedTerm Syntax.LiteralExpressionOrAttribute -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeyValuePattern+keyValuePattern key value =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "key"),+          Model.fieldTerm = (Typed.unTypedTerm key)},+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Typed.unTypedTerm value)}]}))++-- | DSL accessor for the key field of hydra.python.syntax.KeyValuePattern+keyValuePatternKey :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute+keyValuePatternKey x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+        Model.projectionFieldName = (Model.Name "key")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.KeyValuePattern+keyValuePatternKeyValuePattern :: Typed.TypedName Syntax.KeyValuePattern+keyValuePatternKeyValuePattern = Typed.TypedName (Model.Name "hydra.python.syntax.KeyValuePattern")++-- | DSL accessor for the value field of hydra.python.syntax.KeyValuePattern+keyValuePatternValue :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.Pattern+keyValuePatternValue x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+        Model.projectionFieldName = (Model.Name "value")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the key field of hydra.python.syntax.KeyValuePattern+keyValuePatternWithKey :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute -> Typed.TypedTerm Syntax.KeyValuePattern+keyValuePatternWithKey original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "key"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+              Model.projectionFieldName = (Model.Name "value")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.python.syntax.KeyValuePattern+keyValuePatternWithValue :: Typed.TypedTerm Syntax.KeyValuePattern -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeyValuePattern+keyValuePatternWithValue original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "key"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeyValuePattern"),+              Model.projectionFieldName = (Model.Name "key")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.KeywordPattern+keywordPattern :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeywordPattern+keywordPattern name pattern =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "pattern"),+          Model.fieldTerm = (Typed.unTypedTerm pattern)}]}))++-- | DSL name token for hydra.python.syntax.KeywordPattern+keywordPatternKeywordPattern :: Typed.TypedName Syntax.KeywordPattern+keywordPatternKeywordPattern = Typed.TypedName (Model.Name "hydra.python.syntax.KeywordPattern")++-- | DSL accessor for the name field of hydra.python.syntax.KeywordPattern+keywordPatternName :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Name+keywordPatternName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the pattern field of hydra.python.syntax.KeywordPattern+keywordPatternPattern :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Pattern+keywordPatternPattern x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+        Model.projectionFieldName = (Model.Name "pattern")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.python.syntax.KeywordPattern+keywordPatternWithName :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.KeywordPattern+keywordPatternWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "pattern"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+              Model.projectionFieldName = (Model.Name "pattern")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the pattern field of hydra.python.syntax.KeywordPattern+keywordPatternWithPattern :: Typed.TypedTerm Syntax.KeywordPattern -> Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.KeywordPattern+keywordPatternWithPattern original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.KeywordPattern"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "pattern"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.KeywordPatterns wrapper+keywordPatterns :: Typed.TypedTerm [Syntax.KeywordPattern] -> Typed.TypedTerm Syntax.KeywordPatterns+keywordPatterns x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.KeywordPatterns"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.KeywordPatterns+keywordPatternsKeywordPatterns :: Typed.TypedName Syntax.KeywordPatterns+keywordPatternsKeywordPatterns = Typed.TypedName (Model.Name "hydra.python.syntax.KeywordPatterns")++-- | DSL constructor for the hydra.python.syntax.Keywords wrapper+keywords :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Keywords+keywords x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Keywords"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Keywords+keywordsKeywords :: Typed.TypedName Syntax.Keywords+keywordsKeywords = Typed.TypedName (Model.Name "hydra.python.syntax.Keywords")++-- | DSL constructor for hydra.python.syntax.Kvpair+kvpair :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair+kvpair key value =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "key"),+          Model.fieldTerm = (Typed.unTypedTerm key)},+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Typed.unTypedTerm value)}]}))++-- | DSL accessor for the key field of hydra.python.syntax.Kvpair+kvpairKey :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression+kvpairKey x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+        Model.projectionFieldName = (Model.Name "key")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Kvpair+kvpairKvpair :: Typed.TypedName Syntax.Kvpair+kvpairKvpair = Typed.TypedName (Model.Name "hydra.python.syntax.Kvpair")++-- | DSL accessor for the value field of hydra.python.syntax.Kvpair+kvpairValue :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression+kvpairValue x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+        Model.projectionFieldName = (Model.Name "value")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the key field of hydra.python.syntax.Kvpair+kvpairWithKey :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair+kvpairWithKey original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "key"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+              Model.projectionFieldName = (Model.Name "value")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.python.syntax.Kvpair+kvpairWithValue :: Typed.TypedTerm Syntax.Kvpair -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kvpair+kvpairWithValue original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "key"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kvpair"),+              Model.projectionFieldName = (Model.Name "key")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.Kwarg+kwarg :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kwarg+kwarg name value =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Typed.unTypedTerm value)}]}))++-- | DSL name token for hydra.python.syntax.Kwarg+kwargKwarg :: Typed.TypedName Syntax.Kwarg+kwargKwarg = Typed.TypedName (Model.Name "hydra.python.syntax.Kwarg")++-- | DSL accessor for the name field of hydra.python.syntax.Kwarg+kwargName :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Name+kwargName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the doubleStarred variant of hydra.python.syntax.KwargOrDoubleStarred+kwargOrDoubleStarredDoubleStarred :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.KwargOrDoubleStarred+kwargOrDoubleStarredDoubleStarred x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.KwargOrDoubleStarred"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "doubleStarred"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the kwarg variant of hydra.python.syntax.KwargOrDoubleStarred+kwargOrDoubleStarredKwarg :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.KwargOrDoubleStarred+kwargOrDoubleStarredKwarg x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.KwargOrDoubleStarred"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "kwarg"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.KwargOrDoubleStarred+kwargOrDoubleStarredKwargOrDoubleStarred :: Typed.TypedName Syntax.KwargOrDoubleStarred+kwargOrDoubleStarredKwargOrDoubleStarred = Typed.TypedName (Model.Name "hydra.python.syntax.KwargOrDoubleStarred")++-- | DSL injection for the kwarg variant of hydra.python.syntax.KwargOrStarred+kwargOrStarredKwarg :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.KwargOrStarred+kwargOrStarredKwarg x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.KwargOrStarred"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "kwarg"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.KwargOrStarred+kwargOrStarredKwargOrStarred :: Typed.TypedName Syntax.KwargOrStarred+kwargOrStarredKwargOrStarred = Typed.TypedName (Model.Name "hydra.python.syntax.KwargOrStarred")++-- | DSL injection for the starred variant of hydra.python.syntax.KwargOrStarred+kwargOrStarredStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.KwargOrStarred+kwargOrStarredStarred x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.KwargOrStarred"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starred"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL accessor for the value field of hydra.python.syntax.Kwarg+kwargValue :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Expression+kwargValue x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+        Model.projectionFieldName = (Model.Name "value")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the name field of hydra.python.syntax.Kwarg+kwargWithName :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Kwarg+kwargWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+              Model.projectionFieldName = (Model.Name "value")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the value field of hydra.python.syntax.Kwarg+kwargWithValue :: Typed.TypedTerm Syntax.Kwarg -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Kwarg+kwargWithValue original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Kwarg"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.Lambda+lambda :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Lambda+lambda params body =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Lambda"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Typed.unTypedTerm params)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.Lambda+lambdaBody :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression+lambdaBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Lambda"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for the hydra.python.syntax.LambdaKwds wrapper+lambdaKwds :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.LambdaKwds+lambdaKwds x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.LambdaKwds"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.LambdaKwds+lambdaKwdsLambdaKwds :: Typed.TypedName Syntax.LambdaKwds+lambdaKwdsLambdaKwds = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaKwds")++-- | DSL name token for hydra.python.syntax.Lambda+lambdaLambda :: Typed.TypedName Syntax.Lambda+lambdaLambda = Typed.TypedName (Model.Name "hydra.python.syntax.Lambda")++-- | DSL constructor for hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefault param default_ =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm param)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultDefault :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default)+lambdaParamMaybeDefaultDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+        Model.projectionFieldName = (Model.Name "default")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultLambdaParamMaybeDefault :: Typed.TypedName Syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultLambdaParamMaybeDefault =+    Typed.TypedName (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault")++-- | DSL accessor for the param field of hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultParam :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm Syntax.Name+lambdaParamMaybeDefaultParam x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+        Model.projectionFieldName = (Model.Name "param")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultWithDefault :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+              Model.projectionFieldName = (Model.Name "param")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the param field of hydra.python.syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultWithParam :: Typed.TypedTerm Syntax.LambdaParamMaybeDefault -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamMaybeDefault+lambdaParamMaybeDefaultWithParam original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.LambdaParamNoDefault wrapper+lambdaParamNoDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamNoDefault+lambdaParamNoDefault x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.LambdaParamNoDefault"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.LambdaParamNoDefault+lambdaParamNoDefaultLambdaParamNoDefault :: Typed.TypedName Syntax.LambdaParamNoDefault+lambdaParamNoDefaultLambdaParamNoDefault = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaParamNoDefault")++-- | DSL constructor for hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefault :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamWithDefault+lambdaParamWithDefault param default_ =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm param)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultDefault :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm (Maybe Syntax.Default)+lambdaParamWithDefaultDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+        Model.projectionFieldName = (Model.Name "default")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultLambdaParamWithDefault :: Typed.TypedName Syntax.LambdaParamWithDefault+lambdaParamWithDefaultLambdaParamWithDefault = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaParamWithDefault")++-- | DSL accessor for the param field of hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultParam :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm Syntax.Name+lambdaParamWithDefaultParam x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+        Model.projectionFieldName = (Model.Name "param")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultWithDefault :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.LambdaParamWithDefault+lambdaParamWithDefaultWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+              Model.projectionFieldName = (Model.Name "param")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the param field of hydra.python.syntax.LambdaParamWithDefault+lambdaParamWithDefaultWithParam :: Typed.TypedTerm Syntax.LambdaParamWithDefault -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.LambdaParamWithDefault+lambdaParamWithDefaultWithParam original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParamWithDefault"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.LambdaParameters+lambdaParameters :: Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault) -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc) -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParameters slashNoDefault paramNoDefault paramWithDefault starEtc =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slashNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm slashNoDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL name token for hydra.python.syntax.LambdaParameters+lambdaParametersLambdaParameters :: Typed.TypedName Syntax.LambdaParameters+lambdaParametersLambdaParameters = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaParameters")++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersParamNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]+lambdaParametersParamNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+        Model.projectionFieldName = (Model.Name "paramNoDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersParamWithDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamWithDefault]+lambdaParametersParamWithDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+        Model.projectionFieldName = (Model.Name "paramWithDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the slashNoDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersSlashNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault)+lambdaParametersSlashNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+        Model.projectionFieldName = (Model.Name "slashNoDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the starEtc field of hydra.python.syntax.LambdaParameters+lambdaParametersStarEtc :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc)+lambdaParametersStarEtc x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+        Model.projectionFieldName = (Model.Name "starEtc")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersWithParamNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParametersWithParamNoDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slashNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "slashNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersWithParamWithDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParametersWithParamWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slashNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "slashNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the slashNoDefault field of hydra.python.syntax.LambdaParameters+lambdaParametersWithSlashNoDefault :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaSlashNoDefault) -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParametersWithSlashNoDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slashNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.LambdaParameters+lambdaParametersWithStarEtc :: Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm (Maybe Syntax.LambdaStarEtc) -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParametersWithStarEtc original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slashNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "slashNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the params field of hydra.python.syntax.Lambda+lambdaParams :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.LambdaParameters+lambdaParams x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Lambda"),+        Model.projectionFieldName = (Model.Name "params")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.LambdaSlashNoDefault+lambdaSlashNoDefault :: Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashNoDefault+lambdaSlashNoDefault parameters =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashNoDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "parameters"),+          Model.fieldTerm = (Typed.unTypedTerm parameters)}]}))++-- | DSL name token for hydra.python.syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultLambdaSlashNoDefault :: Typed.TypedName Syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultLambdaSlashNoDefault = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaSlashNoDefault")++-- | DSL accessor for the parameters field of hydra.python.syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultParameters :: Typed.TypedTerm Syntax.LambdaSlashNoDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]+lambdaSlashNoDefaultParameters x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashNoDefault"),+        Model.projectionFieldName = (Model.Name "parameters")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the parameters field of hydra.python.syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultWithParameters :: Typed.TypedTerm Syntax.LambdaSlashNoDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashNoDefault+lambdaSlashNoDefaultWithParameters original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashNoDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "parameters"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefault :: Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault+lambdaSlashWithDefault paramNoDefault paramWithDefault =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)}]}))++-- | DSL name token for hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultLambdaSlashWithDefault :: Typed.TypedName Syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultLambdaSlashWithDefault = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaSlashWithDefault")++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultParamNoDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault]+lambdaSlashWithDefaultParamNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+        Model.projectionFieldName = (Model.Name "paramNoDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultParamWithDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamWithDefault]+lambdaSlashWithDefaultParamWithDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+        Model.projectionFieldName = (Model.Name "paramWithDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultWithParamNoDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamNoDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultWithParamNoDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultWithParamWithDefault :: Typed.TypedTerm Syntax.LambdaSlashWithDefault -> Typed.TypedTerm [Syntax.LambdaParamWithDefault] -> Typed.TypedTerm Syntax.LambdaSlashWithDefault+lambdaSlashWithDefaultWithParamWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.LambdaSlashWithDefault"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the kwds variant of hydra.python.syntax.LambdaStarEtc+lambdaStarEtcKwds :: Typed.TypedTerm Syntax.LambdaKwds -> Typed.TypedTerm Syntax.LambdaStarEtc+lambdaStarEtcKwds x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LambdaStarEtc"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "kwds"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.LambdaStarEtc+lambdaStarEtcLambdaStarEtc :: Typed.TypedName Syntax.LambdaStarEtc+lambdaStarEtcLambdaStarEtc = Typed.TypedName (Model.Name "hydra.python.syntax.LambdaStarEtc")++-- | DSL injection for the paramMaybeDefault variant of hydra.python.syntax.LambdaStarEtc+lambdaStarEtcParamMaybeDefault :: Typed.TypedTerm [Syntax.LambdaParamMaybeDefault] -> Typed.TypedTerm Syntax.LambdaStarEtc+lambdaStarEtcParamMaybeDefault x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LambdaStarEtc"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "paramMaybeDefault"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the paramNoDefault variant of hydra.python.syntax.LambdaStarEtc+lambdaStarEtcParamNoDefault :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.LambdaStarEtc+lambdaStarEtcParamNoDefault x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LambdaStarEtc"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "paramNoDefault"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.LambdaStarEtc+lambdaStarEtcStar :: Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.LambdaStarEtc+lambdaStarEtcStar x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LambdaStarEtc"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "star"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL updater for the body field of hydra.python.syntax.Lambda+lambdaWithBody :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Lambda+lambdaWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Lambda"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Lambda"),+              Model.projectionFieldName = (Model.Name "params")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the params field of hydra.python.syntax.Lambda+lambdaWithParams :: Typed.TypedTerm Syntax.Lambda -> Typed.TypedTerm Syntax.LambdaParameters -> Typed.TypedTerm Syntax.Lambda+lambdaWithParams original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Lambda"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "params"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Lambda"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.List wrapper+list :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.List+list x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.List"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.List+listList :: Typed.TypedName Syntax.List+listList = Typed.TypedName (Model.Name "hydra.python.syntax.List")++-- | DSL constructor for hydra.python.syntax.Listcomp+listcomp :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Listcomp+listcomp expression forIfClauses =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm expression)},+        Model.Field {+          Model.fieldName = (Model.Name "forIfClauses"),+          Model.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))++-- | DSL accessor for the expression field of hydra.python.syntax.Listcomp+listcompExpression :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.NamedExpression+listcompExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+        Model.projectionFieldName = (Model.Name "expression")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the forIfClauses field of hydra.python.syntax.Listcomp+listcompForIfClauses :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.ForIfClauses+listcompForIfClauses x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+        Model.projectionFieldName = (Model.Name "forIfClauses")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Listcomp+listcompListcomp :: Typed.TypedName Syntax.Listcomp+listcompListcomp = Typed.TypedName (Model.Name "hydra.python.syntax.Listcomp")++-- | DSL updater for the expression field of hydra.python.syntax.Listcomp+listcompWithExpression :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Listcomp+listcompWithExpression original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "forIfClauses"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+              Model.projectionFieldName = (Model.Name "forIfClauses")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the forIfClauses field of hydra.python.syntax.Listcomp+listcompWithForIfClauses :: Typed.TypedTerm Syntax.Listcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Listcomp+listcompWithForIfClauses original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Listcomp"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "forIfClauses"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the complex variant of hydra.python.syntax.LiteralExpression+literalExpressionComplex :: Typed.TypedTerm Syntax.ComplexNumber -> Typed.TypedTerm Syntax.LiteralExpression+literalExpressionComplex x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "complex"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the false variant of hydra.python.syntax.LiteralExpression+literalExpressionFalse :: Typed.TypedTerm Syntax.LiteralExpression+literalExpressionFalse =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "false"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.LiteralExpression+literalExpressionLiteralExpression :: Typed.TypedName Syntax.LiteralExpression+literalExpressionLiteralExpression = Typed.TypedName (Model.Name "hydra.python.syntax.LiteralExpression")++-- | DSL injection for the none variant of hydra.python.syntax.LiteralExpression+literalExpressionNone :: Typed.TypedTerm Syntax.LiteralExpression+literalExpressionNone =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "none"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the number variant of hydra.python.syntax.LiteralExpression+literalExpressionNumber :: Typed.TypedTerm Syntax.SignedNumber -> Typed.TypedTerm Syntax.LiteralExpression+literalExpressionNumber x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "number"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the attribute variant of hydra.python.syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeAttribute :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeAttribute x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpressionOrAttribute"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "attribute"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the literal variant of hydra.python.syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeLiteral :: Typed.TypedTerm Syntax.LiteralExpression -> Typed.TypedTerm Syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeLiteral x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpressionOrAttribute"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "literal"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeLiteralExpressionOrAttribute :: Typed.TypedName Syntax.LiteralExpressionOrAttribute+literalExpressionOrAttributeLiteralExpressionOrAttribute =+    Typed.TypedName (Model.Name "hydra.python.syntax.LiteralExpressionOrAttribute")++-- | DSL injection for the string variant of hydra.python.syntax.LiteralExpression+literalExpressionString :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.LiteralExpression+literalExpressionString x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "string"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the true variant of hydra.python.syntax.LiteralExpression+literalExpressionTrue :: Typed.TypedTerm Syntax.LiteralExpression+literalExpressionTrue =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.LiteralExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "true"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.MappingPattern+mappingPattern :: Typed.TypedTerm (Maybe Syntax.ItemsPattern) -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern) -> Typed.TypedTerm Syntax.MappingPattern+mappingPattern items doubleStar =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "items"),+          Model.fieldTerm = (Typed.unTypedTerm items)},+        Model.Field {+          Model.fieldName = (Model.Name "doubleStar"),+          Model.fieldTerm = (Typed.unTypedTerm doubleStar)}]}))++-- | DSL accessor for the doubleStar field of hydra.python.syntax.MappingPattern+mappingPatternDoubleStar :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern)+mappingPatternDoubleStar x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+        Model.projectionFieldName = (Model.Name "doubleStar")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the items field of hydra.python.syntax.MappingPattern+mappingPatternItems :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.ItemsPattern)+mappingPatternItems x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+        Model.projectionFieldName = (Model.Name "items")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.MappingPattern+mappingPatternMappingPattern :: Typed.TypedName Syntax.MappingPattern+mappingPatternMappingPattern = Typed.TypedName (Model.Name "hydra.python.syntax.MappingPattern")++-- | DSL updater for the doubleStar field of hydra.python.syntax.MappingPattern+mappingPatternWithDoubleStar :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.DoubleStarPattern) -> Typed.TypedTerm Syntax.MappingPattern+mappingPatternWithDoubleStar original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "items"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+              Model.projectionFieldName = (Model.Name "items")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "doubleStar"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the items field of hydra.python.syntax.MappingPattern+mappingPatternWithItems :: Typed.TypedTerm Syntax.MappingPattern -> Typed.TypedTerm (Maybe Syntax.ItemsPattern) -> Typed.TypedTerm Syntax.MappingPattern+mappingPatternWithItems original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "items"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "doubleStar"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.MappingPattern"),+              Model.projectionFieldName = (Model.Name "doubleStar")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.MatchStatement+matchStatement :: Typed.TypedTerm Syntax.SubjectExpression -> Typed.TypedTerm [Syntax.CaseBlock] -> Typed.TypedTerm Syntax.MatchStatement+matchStatement subject cases =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "subject"),+          Model.fieldTerm = (Typed.unTypedTerm subject)},+        Model.Field {+          Model.fieldName = (Model.Name "cases"),+          Model.fieldTerm = (Typed.unTypedTerm cases)}]}))++-- | DSL accessor for the cases field of hydra.python.syntax.MatchStatement+matchStatementCases :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm [Syntax.CaseBlock]+matchStatementCases x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+        Model.projectionFieldName = (Model.Name "cases")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.MatchStatement+matchStatementMatchStatement :: Typed.TypedName Syntax.MatchStatement+matchStatementMatchStatement = Typed.TypedName (Model.Name "hydra.python.syntax.MatchStatement")++-- | DSL accessor for the subject field of hydra.python.syntax.MatchStatement+matchStatementSubject :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.SubjectExpression+matchStatementSubject x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+        Model.projectionFieldName = (Model.Name "subject")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the cases field of hydra.python.syntax.MatchStatement+matchStatementWithCases :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm [Syntax.CaseBlock] -> Typed.TypedTerm Syntax.MatchStatement+matchStatementWithCases original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "subject"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+              Model.projectionFieldName = (Model.Name "subject")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "cases"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the subject field of hydra.python.syntax.MatchStatement+matchStatementWithSubject :: Typed.TypedTerm Syntax.MatchStatement -> Typed.TypedTerm Syntax.SubjectExpression -> Typed.TypedTerm Syntax.MatchStatement+matchStatementWithSubject original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "subject"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "cases"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.MatchStatement"),+              Model.projectionFieldName = (Model.Name "cases")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.MaybeSequencePattern wrapper+maybeSequencePattern :: Typed.TypedTerm [Syntax.MaybeStarPattern] -> Typed.TypedTerm Syntax.MaybeSequencePattern+maybeSequencePattern x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.MaybeSequencePattern"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.MaybeSequencePattern+maybeSequencePatternMaybeSequencePattern :: Typed.TypedName Syntax.MaybeSequencePattern+maybeSequencePatternMaybeSequencePattern = Typed.TypedName (Model.Name "hydra.python.syntax.MaybeSequencePattern")++-- | DSL name token for hydra.python.syntax.MaybeStarPattern+maybeStarPatternMaybeStarPattern :: Typed.TypedName Syntax.MaybeStarPattern+maybeStarPatternMaybeStarPattern = Typed.TypedName (Model.Name "hydra.python.syntax.MaybeStarPattern")++-- | DSL injection for the pattern variant of hydra.python.syntax.MaybeStarPattern+maybeStarPatternPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.MaybeStarPattern+maybeStarPatternPattern x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.MaybeStarPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "pattern"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.MaybeStarPattern+maybeStarPatternStar :: Typed.TypedTerm Syntax.StarPattern -> Typed.TypedTerm Syntax.MaybeStarPattern+maybeStarPatternStar x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.MaybeStarPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "star"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Module wrapper+module_ :: Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Module+module_ x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Module"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Module+moduleModule :: Typed.TypedName Syntax.Module+moduleModule = Typed.TypedName (Model.Name "hydra.python.syntax.Module")++-- | DSL constructor for the hydra.python.syntax.Name wrapper+name :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Name+name x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Name"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Name+nameName :: Typed.TypedName Syntax.Name+nameName = Typed.TypedName (Model.Name "hydra.python.syntax.Name")++-- | DSL constructor for the hydra.python.syntax.NameOrAttribute wrapper+nameOrAttribute :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.NameOrAttribute+nameOrAttribute x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.NameOrAttribute"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.NameOrAttribute+nameOrAttributeNameOrAttribute :: Typed.TypedName Syntax.NameOrAttribute+nameOrAttributeNameOrAttribute = Typed.TypedName (Model.Name "hydra.python.syntax.NameOrAttribute")++-- | DSL injection for the assignment variant of hydra.python.syntax.NamedExpression+namedExpressionAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.NamedExpression+namedExpressionAssignment x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.NamedExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "assignment"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.NamedExpression+namedExpressionNamedExpression :: Typed.TypedName Syntax.NamedExpression+namedExpressionNamedExpression = Typed.TypedName (Model.Name "hydra.python.syntax.NamedExpression")++-- | DSL injection for the simple variant of hydra.python.syntax.NamedExpression+namedExpressionSimple :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.NamedExpression+namedExpressionSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.NamedExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtc paramNoDefaultStarAnnotation paramMaybeDefault keywords =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefaultStarAnnotation"),+          Model.fieldTerm = (Typed.unTypedTerm paramNoDefaultStarAnnotation)},+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Typed.unTypedTerm keywords)}]}))++-- | DSL accessor for the keywords field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcKeywords :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)+noDefaultStarAnnotationStarEtcKeywords x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+        Model.projectionFieldName = (Model.Name "keywords")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc :: Typed.TypedName Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcNoDefaultStarAnnotationStarEtc =+    Typed.TypedName (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc")++-- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]+noDefaultStarAnnotationStarEtcParamMaybeDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+        Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramNoDefaultStarAnnotation field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation+noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+        Model.projectionFieldName = (Model.Name "paramNoDefaultStarAnnotation")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keywords field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithKeywords :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithKeywords original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefaultStarAnnotation"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+              Model.projectionFieldName = (Model.Name "paramNoDefaultStarAnnotation")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+              Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithParamMaybeDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefaultStarAnnotation"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+              Model.projectionFieldName = (Model.Name "paramNoDefaultStarAnnotation")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+              Model.projectionFieldName = (Model.Name "keywords")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramNoDefaultStarAnnotation field of hydra.python.syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc+noDefaultStarAnnotationStarEtcWithParamNoDefaultStarAnnotation original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefaultStarAnnotation"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+              Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"),+              Model.projectionFieldName = (Model.Name "keywords")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtc :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarEtc+noDefaultStarEtc paramNoDefault paramMaybeDefault keywords =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramMaybeDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Typed.unTypedTerm keywords)}]}))++-- | DSL accessor for the keywords field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcKeywords :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords)+noDefaultStarEtcKeywords x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+        Model.projectionFieldName = (Model.Name "keywords")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcNoDefaultStarEtc :: Typed.TypedName Syntax.NoDefaultStarEtc+noDefaultStarEtcNoDefaultStarEtc = Typed.TypedName (Model.Name "hydra.python.syntax.NoDefaultStarEtc")++-- | DSL accessor for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault]+noDefaultStarEtcParamMaybeDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+        Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcParamNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.ParamNoDefault+noDefaultStarEtcParamNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+        Model.projectionFieldName = (Model.Name "paramNoDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the keywords field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcWithKeywords :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm (Maybe Syntax.Keywords) -> Typed.TypedTerm Syntax.NoDefaultStarEtc+noDefaultStarEtcWithKeywords original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+              Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the paramMaybeDefault field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcWithParamMaybeDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm [Syntax.ParamMaybeDefault] -> Typed.TypedTerm Syntax.NoDefaultStarEtc+noDefaultStarEtcWithParamMaybeDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+              Model.projectionFieldName = (Model.Name "keywords")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.NoDefaultStarEtc+noDefaultStarEtcWithParamNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.NoDefaultStarEtc+noDefaultStarEtcWithParamNoDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramMaybeDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+              Model.projectionFieldName = (Model.Name "paramMaybeDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "keywords"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.NoDefaultStarEtc"),+              Model.projectionFieldName = (Model.Name "keywords")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the float variant of hydra.python.syntax.Number+numberFloat :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.Number+numberFloat x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Number"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "float"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the imaginary variant of hydra.python.syntax.Number+numberImaginary :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.Number+numberImaginary x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Number"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "imaginary"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the integer variant of hydra.python.syntax.Number+numberInteger :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.Number+numberInteger x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Number"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "integer"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Number+numberNumber :: Typed.TypedName Syntax.Number+numberNumber = Typed.TypedName (Model.Name "hydra.python.syntax.Number")++-- | DSL constructor for hydra.python.syntax.OpenSequencePattern+openSequencePattern :: Typed.TypedTerm Syntax.MaybeStarPattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.OpenSequencePattern+openSequencePattern head tail =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "head"),+          Model.fieldTerm = (Typed.unTypedTerm head)},+        Model.Field {+          Model.fieldName = (Model.Name "tail"),+          Model.fieldTerm = (Typed.unTypedTerm tail)}]}))++-- | DSL accessor for the head field of hydra.python.syntax.OpenSequencePattern+openSequencePatternHead :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.MaybeStarPattern+openSequencePatternHead x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+        Model.projectionFieldName = (Model.Name "head")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.OpenSequencePattern+openSequencePatternOpenSequencePattern :: Typed.TypedName Syntax.OpenSequencePattern+openSequencePatternOpenSequencePattern = Typed.TypedName (Model.Name "hydra.python.syntax.OpenSequencePattern")++-- | DSL accessor for the tail field of hydra.python.syntax.OpenSequencePattern+openSequencePatternTail :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern)+openSequencePatternTail x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+        Model.projectionFieldName = (Model.Name "tail")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the head field of hydra.python.syntax.OpenSequencePattern+openSequencePatternWithHead :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.MaybeStarPattern -> Typed.TypedTerm Syntax.OpenSequencePattern+openSequencePatternWithHead original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "head"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "tail"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+              Model.projectionFieldName = (Model.Name "tail")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the tail field of hydra.python.syntax.OpenSequencePattern+openSequencePatternWithTail :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.OpenSequencePattern+openSequencePatternWithTail original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "head"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.OpenSequencePattern"),+              Model.projectionFieldName = (Model.Name "head")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "tail"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.OrPattern wrapper+orPattern :: Typed.TypedTerm [Syntax.ClosedPattern] -> Typed.TypedTerm Syntax.OrPattern+orPattern x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.OrPattern"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.OrPattern+orPatternOrPattern :: Typed.TypedName Syntax.OrPattern+orPatternOrPattern = Typed.TypedName (Model.Name "hydra.python.syntax.OrPattern")++-- | DSL constructor for hydra.python.syntax.Param+param :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Annotation) -> Typed.TypedTerm Syntax.Param+param name annotation =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Param"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "annotation"),+          Model.fieldTerm = (Typed.unTypedTerm annotation)}]}))++-- | DSL accessor for the annotation field of hydra.python.syntax.Param+paramAnnotation :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Annotation)+paramAnnotation x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Param"),+        Model.projectionFieldName = (Model.Name "annotation")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.ParamMaybeDefault+paramMaybeDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamMaybeDefault+paramMaybeDefault param default_ typeComment =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm param)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm default_)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultDefault :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default)+paramMaybeDefaultDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+        Model.projectionFieldName = (Model.Name "default")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the param field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultParam :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm Syntax.Param+paramMaybeDefaultParam x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+        Model.projectionFieldName = (Model.Name "param")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultParamMaybeDefault :: Typed.TypedName Syntax.ParamMaybeDefault+paramMaybeDefaultParamMaybeDefault = Typed.TypedName (Model.Name "hydra.python.syntax.ParamMaybeDefault")++-- | DSL accessor for the typeComment field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultTypeComment :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)+paramMaybeDefaultTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+        Model.projectionFieldName = (Model.Name "typeComment")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultWithDefault :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.Default) -> Typed.TypedTerm Syntax.ParamMaybeDefault+paramMaybeDefaultWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+              Model.projectionFieldName = (Model.Name "param")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the param field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultWithParam :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamMaybeDefault+paramMaybeDefaultWithParam original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ParamMaybeDefault+paramMaybeDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamMaybeDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamMaybeDefault+paramMaybeDefaultWithTypeComment original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+              Model.projectionFieldName = (Model.Name "param")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamMaybeDefault"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the name field of hydra.python.syntax.Param+paramName :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Name+paramName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Param"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.ParamNoDefault+paramNoDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefault+paramNoDefault param typeComment =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm param)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL accessor for the param field of hydra.python.syntax.ParamNoDefault+paramNoDefaultParam :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Param+paramNoDefaultParam x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+        Model.projectionFieldName = (Model.Name "param")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamNoDefault+paramNoDefaultParamNoDefault :: Typed.TypedName Syntax.ParamNoDefault+paramNoDefaultParamNoDefault = Typed.TypedName (Model.Name "hydra.python.syntax.ParamNoDefault")++-- | DSL constructor for hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParameters :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamNoDefaultParameters+paramNoDefaultParameters paramNoDefault paramWithDefault starEtc =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]+paramNoDefaultParametersParamNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+        Model.projectionFieldName = (Model.Name "paramNoDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersParamNoDefaultParameters :: Typed.TypedName Syntax.ParamNoDefaultParameters+paramNoDefaultParametersParamNoDefaultParameters =+    Typed.TypedName (Model.Name "hydra.python.syntax.ParamNoDefaultParameters")++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]+paramNoDefaultParametersParamWithDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+        Model.projectionFieldName = (Model.Name "paramWithDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the starEtc field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)+paramNoDefaultParametersStarEtc x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+        Model.projectionFieldName = (Model.Name "starEtc")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithParamNoDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithParamWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamNoDefaultParameters+paramNoDefaultParametersWithStarEtc original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotation paramStarAnnotation typeComment =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramStarAnnotation"),+          Model.fieldTerm = (Typed.unTypedTerm paramStarAnnotation)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL name token for hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation :: Typed.TypedName Syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationParamNoDefaultStarAnnotation =+    Typed.TypedName (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation")++-- | DSL accessor for the paramStarAnnotation field of hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationParamStarAnnotation :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation+paramNoDefaultStarAnnotationParamStarAnnotation x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+        Model.projectionFieldName = (Model.Name "paramStarAnnotation")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationTypeComment :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment)+paramNoDefaultStarAnnotationTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+        Model.projectionFieldName = (Model.Name "typeComment")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramStarAnnotation field of hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationWithParamStarAnnotation :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationWithParamStarAnnotation original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramStarAnnotation"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationWithTypeComment :: Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefaultStarAnnotation+paramNoDefaultStarAnnotationWithTypeComment original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramStarAnnotation"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"),+              Model.projectionFieldName = (Model.Name "paramStarAnnotation")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.ParamNoDefault+paramNoDefaultTypeComment :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)+paramNoDefaultTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+        Model.projectionFieldName = (Model.Name "typeComment")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the param field of hydra.python.syntax.ParamNoDefault+paramNoDefaultWithParam :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamNoDefault+paramNoDefaultWithParam original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ParamNoDefault+paramNoDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamNoDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamNoDefault+paramNoDefaultWithTypeComment original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamNoDefault"),+              Model.projectionFieldName = (Model.Name "param")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.Param+paramParam :: Typed.TypedName Syntax.Param+paramParam = Typed.TypedName (Model.Name "hydra.python.syntax.Param")++-- | DSL constructor for hydra.python.syntax.ParamStarAnnotation+paramStarAnnotation :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation+paramStarAnnotation name annotation =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "annotation"),+          Model.fieldTerm = (Typed.unTypedTerm annotation)}]}))++-- | DSL accessor for the annotation field of hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.StarAnnotation+paramStarAnnotationAnnotation x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+        Model.projectionFieldName = (Model.Name "annotation")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationName :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.Name+paramStarAnnotationName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationParamStarAnnotation :: Typed.TypedName Syntax.ParamStarAnnotation+paramStarAnnotationParamStarAnnotation = Typed.TypedName (Model.Name "hydra.python.syntax.ParamStarAnnotation")++-- | DSL updater for the annotation field of hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationWithAnnotation :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.ParamStarAnnotation+paramStarAnnotationWithAnnotation original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "annotation"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.ParamStarAnnotation+paramStarAnnotationWithName :: Typed.TypedTerm Syntax.ParamStarAnnotation -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.ParamStarAnnotation+paramStarAnnotationWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "annotation"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamStarAnnotation"),+              Model.projectionFieldName = (Model.Name "annotation")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the annotation field of hydra.python.syntax.Param+paramWithAnnotation :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm (Maybe Syntax.Annotation) -> Typed.TypedTerm Syntax.Param+paramWithAnnotation original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Param"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Param"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "annotation"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ParamWithDefault+paramWithDefault :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Default -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamWithDefault+paramWithDefault param default_ typeComment =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm param)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm default_)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.ParamWithDefault+paramWithDefaultDefault :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Default+paramWithDefaultDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+        Model.projectionFieldName = (Model.Name "default")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the param field of hydra.python.syntax.ParamWithDefault+paramWithDefaultParam :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Param+paramWithDefaultParam x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+        Model.projectionFieldName = (Model.Name "param")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamWithDefault+paramWithDefaultParamWithDefault :: Typed.TypedName Syntax.ParamWithDefault+paramWithDefaultParamWithDefault = Typed.TypedName (Model.Name "hydra.python.syntax.ParamWithDefault")++-- | DSL constructor for hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParameters :: Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamWithDefaultParameters+paramWithDefaultParameters paramWithDefault starEtc =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]+paramWithDefaultParametersParamWithDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+        Model.projectionFieldName = (Model.Name "paramWithDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersParamWithDefaultParameters :: Typed.TypedName Syntax.ParamWithDefaultParameters+paramWithDefaultParametersParamWithDefaultParameters =+    Typed.TypedName (Model.Name "hydra.python.syntax.ParamWithDefaultParameters")++-- | DSL accessor for the starEtc field of hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersStarEtc :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)+paramWithDefaultParametersStarEtc x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+        Model.projectionFieldName = (Model.Name "starEtc")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.ParamWithDefaultParameters+paramWithDefaultParametersWithParamWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.ParamWithDefaultParameters+paramWithDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.ParamWithDefaultParameters+paramWithDefaultParametersWithStarEtc original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.ParamWithDefault+paramWithDefaultTypeComment :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment)+paramWithDefaultTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+        Model.projectionFieldName = (Model.Name "typeComment")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the default field of hydra.python.syntax.ParamWithDefault+paramWithDefaultWithDefault :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Default -> Typed.TypedTerm Syntax.ParamWithDefault+paramWithDefaultWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+              Model.projectionFieldName = (Model.Name "param")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the param field of hydra.python.syntax.ParamWithDefault+paramWithDefaultWithParam :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.ParamWithDefault+paramWithDefaultWithParam original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.ParamWithDefault+paramWithDefaultWithTypeComment :: Typed.TypedTerm Syntax.ParamWithDefault -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.ParamWithDefault+paramWithDefaultWithTypeComment original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "param"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+              Model.projectionFieldName = (Model.Name "param")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ParamWithDefault"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.Param+paramWithName :: Typed.TypedTerm Syntax.Param -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Param+paramWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Param"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "annotation"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Param"),+              Model.projectionFieldName = (Model.Name "annotation")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the paramNoDefault variant of hydra.python.syntax.Parameters+parametersParamNoDefault :: Typed.TypedTerm Syntax.ParamNoDefaultParameters -> Typed.TypedTerm Syntax.Parameters+parametersParamNoDefault x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "paramNoDefault"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the paramWithDefault variant of hydra.python.syntax.Parameters+parametersParamWithDefault :: Typed.TypedTerm Syntax.ParamWithDefaultParameters -> Typed.TypedTerm Syntax.Parameters+parametersParamWithDefault x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "paramWithDefault"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Parameters+parametersParameters :: Typed.TypedName Syntax.Parameters+parametersParameters = Typed.TypedName (Model.Name "hydra.python.syntax.Parameters")++-- | DSL injection for the slashNoDefault variant of hydra.python.syntax.Parameters+parametersSlashNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.Parameters+parametersSlashNoDefault x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "slashNoDefault"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the slashWithDefault variant of hydra.python.syntax.Parameters+parametersSlashWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm Syntax.Parameters+parametersSlashWithDefault x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "slashWithDefault"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starEtc variant of hydra.python.syntax.Parameters+parametersStarEtc :: Typed.TypedTerm Syntax.StarEtc -> Typed.TypedTerm Syntax.Parameters+parametersStarEtc x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Parameters"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starEtc"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the as variant of hydra.python.syntax.Pattern+patternAs :: Typed.TypedTerm Syntax.AsPattern -> Typed.TypedTerm Syntax.Pattern+patternAs x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Pattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "as"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.PatternCaptureTarget wrapper+patternCaptureTarget :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.PatternCaptureTarget+patternCaptureTarget x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.PatternCaptureTarget"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.PatternCaptureTarget+patternCaptureTargetPatternCaptureTarget :: Typed.TypedName Syntax.PatternCaptureTarget+patternCaptureTargetPatternCaptureTarget = Typed.TypedName (Model.Name "hydra.python.syntax.PatternCaptureTarget")++-- | DSL injection for the or variant of hydra.python.syntax.Pattern+patternOr :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm Syntax.Pattern+patternOr x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Pattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "or"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Pattern+patternPattern :: Typed.TypedName Syntax.Pattern+patternPattern = Typed.TypedName (Model.Name "hydra.python.syntax.Pattern")++-- | DSL injection for the pattern variant of hydra.python.syntax.Patterns+patternsPattern :: Typed.TypedTerm Syntax.Pattern -> Typed.TypedTerm Syntax.Patterns+patternsPattern x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Patterns"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "pattern"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Patterns+patternsPatterns :: Typed.TypedName Syntax.Patterns+patternsPatterns = Typed.TypedName (Model.Name "hydra.python.syntax.Patterns")++-- | DSL injection for the sequence variant of hydra.python.syntax.Patterns+patternsSequence :: Typed.TypedTerm Syntax.OpenSequencePattern -> Typed.TypedTerm Syntax.Patterns+patternsSequence x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Patterns"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "sequence"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the minus variant of hydra.python.syntax.PlusOrMinus+plusOrMinusMinus :: Typed.TypedTerm Syntax.PlusOrMinus+plusOrMinusMinus =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.PlusOrMinus"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "minus"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the plus variant of hydra.python.syntax.PlusOrMinus+plusOrMinusPlus :: Typed.TypedTerm Syntax.PlusOrMinus+plusOrMinusPlus =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.PlusOrMinus"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "plus"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.PlusOrMinus+plusOrMinusPlusOrMinus :: Typed.TypedName Syntax.PlusOrMinus+plusOrMinusPlusOrMinus = Typed.TypedName (Model.Name "hydra.python.syntax.PlusOrMinus")++-- | DSL injection for the assignment variant of hydra.python.syntax.PosArg+posArgAssignment :: Typed.TypedTerm Syntax.AssignmentExpression -> Typed.TypedTerm Syntax.PosArg+posArgAssignment x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.PosArg"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "assignment"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.python.syntax.PosArg+posArgExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.PosArg+posArgExpression x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.PosArg"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "expression"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.PosArg+posArgPosArg :: Typed.TypedName Syntax.PosArg+posArgPosArg = Typed.TypedName (Model.Name "hydra.python.syntax.PosArg")++-- | DSL injection for the starred variant of hydra.python.syntax.PosArg+posArgStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.PosArg+posArgStarred x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.PosArg"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starred"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.PositionalPatterns wrapper+positionalPatterns :: Typed.TypedTerm [Syntax.Pattern] -> Typed.TypedTerm Syntax.PositionalPatterns+positionalPatterns x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.PositionalPatterns"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.PositionalPatterns+positionalPatternsPositionalPatterns :: Typed.TypedName Syntax.PositionalPatterns+positionalPatternsPositionalPatterns = Typed.TypedName (Model.Name "hydra.python.syntax.PositionalPatterns")++-- | DSL constructor for hydra.python.syntax.Power+power :: Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm (Maybe Syntax.Factor) -> Typed.TypedTerm Syntax.Power+power lhs rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Power"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.Power+powerLhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.AwaitPrimary+powerLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Power"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Power+powerPower :: Typed.TypedName Syntax.Power+powerPower = Typed.TypedName (Model.Name "hydra.python.syntax.Power")++-- | DSL accessor for the rhs field of hydra.python.syntax.Power+powerRhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Factor)+powerRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Power"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the lhs field of hydra.python.syntax.Power+powerWithLhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm Syntax.AwaitPrimary -> Typed.TypedTerm Syntax.Power+powerWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Power"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Power"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.Power+powerWithRhs :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Factor) -> Typed.TypedTerm Syntax.Power+powerWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Power"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Power"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the compound variant of hydra.python.syntax.Primary+primaryCompound :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary+primaryCompound x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Primary"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "compound"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Primary+primaryPrimary :: Typed.TypedName Syntax.Primary+primaryPrimary = Typed.TypedName (Model.Name "hydra.python.syntax.Primary")++-- | DSL injection for the call variant of hydra.python.syntax.PrimaryRhs+primaryRhsCall :: Typed.TypedTerm Syntax.Args -> Typed.TypedTerm Syntax.PrimaryRhs+primaryRhsCall x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.PrimaryRhs"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "call"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the genexp variant of hydra.python.syntax.PrimaryRhs+primaryRhsGenexp :: Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.PrimaryRhs+primaryRhsGenexp x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.PrimaryRhs"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "genexp"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.PrimaryRhs+primaryRhsPrimaryRhs :: Typed.TypedName Syntax.PrimaryRhs+primaryRhsPrimaryRhs = Typed.TypedName (Model.Name "hydra.python.syntax.PrimaryRhs")++-- | DSL injection for the project variant of hydra.python.syntax.PrimaryRhs+primaryRhsProject :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.PrimaryRhs+primaryRhsProject x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.PrimaryRhs"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "project"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the slices variant of hydra.python.syntax.PrimaryRhs+primaryRhsSlices :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.PrimaryRhs+primaryRhsSlices x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.PrimaryRhs"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "slices"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Primary+primarySimple :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Primary+primarySimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Primary"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.PrimaryWithRhs+primaryWithRhs :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.PrimaryWithRhs+primaryWithRhs primary rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm primary)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the primary field of hydra.python.syntax.PrimaryWithRhs+primaryWithRhsPrimary :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary+primaryWithRhsPrimary x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+        Model.projectionFieldName = (Model.Name "primary")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.PrimaryWithRhs+primaryWithRhsPrimaryWithRhs :: Typed.TypedName Syntax.PrimaryWithRhs+primaryWithRhsPrimaryWithRhs = Typed.TypedName (Model.Name "hydra.python.syntax.PrimaryWithRhs")++-- | DSL accessor for the rhs field of hydra.python.syntax.PrimaryWithRhs+primaryWithRhsRhs :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.PrimaryRhs+primaryWithRhsRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the primary field of hydra.python.syntax.PrimaryWithRhs+primaryWithRhsWithPrimary :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryWithRhs+primaryWithRhsWithPrimary original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.PrimaryWithRhs+primaryWithRhsWithRhs :: Typed.TypedTerm Syntax.PrimaryWithRhs -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.PrimaryWithRhs+primaryWithRhsWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.PrimaryWithRhs"),+              Model.projectionFieldName = (Model.Name "primary")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the double variant of hydra.python.syntax.QuoteStyle+quoteStyleDouble :: Typed.TypedTerm Syntax.QuoteStyle+quoteStyleDouble =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.QuoteStyle"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "double"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.QuoteStyle+quoteStyleQuoteStyle :: Typed.TypedName Syntax.QuoteStyle+quoteStyleQuoteStyle = Typed.TypedName (Model.Name "hydra.python.syntax.QuoteStyle")++-- | DSL injection for the single variant of hydra.python.syntax.QuoteStyle+quoteStyleSingle :: Typed.TypedTerm Syntax.QuoteStyle+quoteStyleSingle =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.QuoteStyle"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "single"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the tripleDouble variant of hydra.python.syntax.QuoteStyle+quoteStyleTripleDouble :: Typed.TypedTerm Syntax.QuoteStyle+quoteStyleTripleDouble =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.QuoteStyle"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "tripleDouble"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the tripleSingle variant of hydra.python.syntax.QuoteStyle+quoteStyleTripleSingle :: Typed.TypedTerm Syntax.QuoteStyle+quoteStyleTripleSingle =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.QuoteStyle"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "tripleSingle"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL constructor for hydra.python.syntax.RaiseExpression+raiseExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.RaiseExpression+raiseExpression expression from =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm expression)},+        Model.Field {+          Model.fieldName = (Model.Name "from"),+          Model.fieldTerm = (Typed.unTypedTerm from)}]}))++-- | DSL accessor for the expression field of hydra.python.syntax.RaiseExpression+raiseExpressionExpression :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm Syntax.Expression+raiseExpressionExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+        Model.projectionFieldName = (Model.Name "expression")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the from field of hydra.python.syntax.RaiseExpression+raiseExpressionFrom :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm (Maybe Syntax.Expression)+raiseExpressionFrom x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+        Model.projectionFieldName = (Model.Name "from")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.RaiseExpression+raiseExpressionRaiseExpression :: Typed.TypedName Syntax.RaiseExpression+raiseExpressionRaiseExpression = Typed.TypedName (Model.Name "hydra.python.syntax.RaiseExpression")++-- | DSL updater for the expression field of hydra.python.syntax.RaiseExpression+raiseExpressionWithExpression :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.RaiseExpression+raiseExpressionWithExpression original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "from"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+              Model.projectionFieldName = (Model.Name "from")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the from field of hydra.python.syntax.RaiseExpression+raiseExpressionWithFrom :: Typed.TypedTerm Syntax.RaiseExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.RaiseExpression+raiseExpressionWithFrom original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.RaiseExpression"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "from"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.RaiseStatement wrapper+raiseStatement :: Typed.TypedTerm (Maybe Syntax.RaiseExpression) -> Typed.TypedTerm Syntax.RaiseStatement+raiseStatement x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.RaiseStatement"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.RaiseStatement+raiseStatementRaiseStatement :: Typed.TypedName Syntax.RaiseStatement+raiseStatementRaiseStatement = Typed.TypedName (Model.Name "hydra.python.syntax.RaiseStatement")++-- | DSL injection for the float variant of hydra.python.syntax.RealNumber+realNumberFloat :: Typed.TypedTerm Double -> Typed.TypedTerm Syntax.RealNumber+realNumberFloat x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.RealNumber"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "float"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the integer variant of hydra.python.syntax.RealNumber+realNumberInteger :: Typed.TypedTerm Integer -> Typed.TypedTerm Syntax.RealNumber+realNumberInteger x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.RealNumber"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "integer"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.RealNumber+realNumberRealNumber :: Typed.TypedName Syntax.RealNumber+realNumberRealNumber = Typed.TypedName (Model.Name "hydra.python.syntax.RealNumber")++-- | DSL injection for the dot variant of hydra.python.syntax.RelativeImportPrefix+relativeImportPrefixDot :: Typed.TypedTerm Syntax.RelativeImportPrefix+relativeImportPrefixDot =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.RelativeImportPrefix"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "dot"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the ellipsis variant of hydra.python.syntax.RelativeImportPrefix+relativeImportPrefixEllipsis :: Typed.TypedTerm Syntax.RelativeImportPrefix+relativeImportPrefixEllipsis =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.RelativeImportPrefix"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "ellipsis"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.RelativeImportPrefix+relativeImportPrefixRelativeImportPrefix :: Typed.TypedName Syntax.RelativeImportPrefix+relativeImportPrefixRelativeImportPrefix = Typed.TypedName (Model.Name "hydra.python.syntax.RelativeImportPrefix")++-- | DSL constructor for the hydra.python.syntax.ReturnStatement wrapper+returnStatement :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.ReturnStatement+returnStatement x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ReturnStatement"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ReturnStatement+returnStatementReturnStatement :: Typed.TypedName Syntax.ReturnStatement+returnStatementReturnStatement = Typed.TypedName (Model.Name "hydra.python.syntax.ReturnStatement")++-- | DSL injection for the list variant of hydra.python.syntax.SequencePattern+sequencePatternList :: Typed.TypedTerm (Maybe Syntax.MaybeSequencePattern) -> Typed.TypedTerm Syntax.SequencePattern+sequencePatternList x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SequencePattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "list"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SequencePattern+sequencePatternSequencePattern :: Typed.TypedName Syntax.SequencePattern+sequencePatternSequencePattern = Typed.TypedName (Model.Name "hydra.python.syntax.SequencePattern")++-- | DSL injection for the tuple variant of hydra.python.syntax.SequencePattern+sequencePatternTuple :: Typed.TypedTerm (Maybe Syntax.OpenSequencePattern) -> Typed.TypedTerm Syntax.SequencePattern+sequencePatternTuple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SequencePattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "tuple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.Set wrapper+set :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.Set+set x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Set"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Set+setSet :: Typed.TypedName Syntax.Set+setSet = Typed.TypedName (Model.Name "hydra.python.syntax.Set")++-- | DSL constructor for hydra.python.syntax.Setcomp+setcomp :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Setcomp+setcomp expression forIfClauses =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm expression)},+        Model.Field {+          Model.fieldName = (Model.Name "forIfClauses"),+          Model.fieldTerm = (Typed.unTypedTerm forIfClauses)}]}))++-- | DSL accessor for the expression field of hydra.python.syntax.Setcomp+setcompExpression :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.NamedExpression+setcompExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+        Model.projectionFieldName = (Model.Name "expression")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the forIfClauses field of hydra.python.syntax.Setcomp+setcompForIfClauses :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.ForIfClauses+setcompForIfClauses x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+        Model.projectionFieldName = (Model.Name "forIfClauses")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Setcomp+setcompSetcomp :: Typed.TypedName Syntax.Setcomp+setcompSetcomp = Typed.TypedName (Model.Name "hydra.python.syntax.Setcomp")++-- | DSL updater for the expression field of hydra.python.syntax.Setcomp+setcompWithExpression :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Setcomp+setcompWithExpression original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "forIfClauses"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+              Model.projectionFieldName = (Model.Name "forIfClauses")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the forIfClauses field of hydra.python.syntax.Setcomp+setcompWithForIfClauses :: Typed.TypedTerm Syntax.Setcomp -> Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm Syntax.Setcomp+setcompWithForIfClauses original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Setcomp"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "forIfClauses"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ShiftExpression+shiftExpression :: Typed.TypedTerm (Maybe Syntax.ShiftLhs) -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpression lhs rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.ShiftExpression+shiftExpressionLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm (Maybe Syntax.ShiftLhs)+shiftExpressionLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.ShiftExpression+shiftExpressionRhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.Sum+shiftExpressionRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ShiftExpression+shiftExpressionShiftExpression :: Typed.TypedName Syntax.ShiftExpression+shiftExpressionShiftExpression = Typed.TypedName (Model.Name "hydra.python.syntax.ShiftExpression")++-- | DSL updater for the lhs field of hydra.python.syntax.ShiftExpression+shiftExpressionWithLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm (Maybe Syntax.ShiftLhs) -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpressionWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.ShiftExpression+shiftExpressionWithRhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.ShiftExpression+shiftExpressionWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftExpression"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.ShiftLhs+shiftLhs :: Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.ShiftOp -> Typed.TypedTerm Syntax.ShiftLhs+shiftLhs operand operator =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operand"),+          Model.fieldTerm = (Typed.unTypedTerm operand)},+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Typed.unTypedTerm operator)}]}))++-- | DSL accessor for the operand field of hydra.python.syntax.ShiftLhs+shiftLhsOperand :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftExpression+shiftLhsOperand x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+        Model.projectionFieldName = (Model.Name "operand")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.python.syntax.ShiftLhs+shiftLhsOperator :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftOp+shiftLhsOperator x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+        Model.projectionFieldName = (Model.Name "operator")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ShiftLhs+shiftLhsShiftLhs :: Typed.TypedName Syntax.ShiftLhs+shiftLhsShiftLhs = Typed.TypedName (Model.Name "hydra.python.syntax.ShiftLhs")++-- | DSL updater for the operand field of hydra.python.syntax.ShiftLhs+shiftLhsWithOperand :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftExpression -> Typed.TypedTerm Syntax.ShiftLhs+shiftLhsWithOperand original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operand"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+              Model.projectionFieldName = (Model.Name "operator")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.python.syntax.ShiftLhs+shiftLhsWithOperator :: Typed.TypedTerm Syntax.ShiftLhs -> Typed.TypedTerm Syntax.ShiftOp -> Typed.TypedTerm Syntax.ShiftLhs+shiftLhsWithOperator original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operand"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.ShiftLhs"),+              Model.projectionFieldName = (Model.Name "operand")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the left variant of hydra.python.syntax.ShiftOp+shiftOpLeft :: Typed.TypedTerm Syntax.ShiftOp+shiftOpLeft =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ShiftOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "left"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the right variant of hydra.python.syntax.ShiftOp+shiftOpRight :: Typed.TypedTerm Syntax.ShiftOp+shiftOpRight =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.ShiftOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "right"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.ShiftOp+shiftOpShiftOp :: Typed.TypedName Syntax.ShiftOp+shiftOpShiftOp = Typed.TypedName (Model.Name "hydra.python.syntax.ShiftOp")++-- | DSL injection for the number variant of hydra.python.syntax.SignedNumber+signedNumberNumber :: Typed.TypedTerm Syntax.Number -> Typed.TypedTerm Syntax.SignedNumber+signedNumberNumber x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SignedNumber"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "number"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sign variant of hydra.python.syntax.SignedNumber+signedNumberSign :: Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.SignedNumber+signedNumberSign x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SignedNumber"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "sign"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SignedNumber+signedNumberSignedNumber :: Typed.TypedName Syntax.SignedNumber+signedNumberSignedNumber = Typed.TypedName (Model.Name "hydra.python.syntax.SignedNumber")++-- | DSL injection for the number variant of hydra.python.syntax.SignedRealNumber+signedRealNumberNumber :: Typed.TypedTerm Syntax.RealNumber -> Typed.TypedTerm Syntax.SignedRealNumber+signedRealNumberNumber x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SignedRealNumber"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "number"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the sign variant of hydra.python.syntax.SignedRealNumber+signedRealNumberSign :: Typed.TypedTerm Syntax.PlusOrMinus -> Typed.TypedTerm Syntax.SignedRealNumber+signedRealNumberSign x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SignedRealNumber"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "sign"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SignedRealNumber+signedRealNumberSignedRealNumber :: Typed.TypedName Syntax.SignedRealNumber+signedRealNumberSignedRealNumber = Typed.TypedName (Model.Name "hydra.python.syntax.SignedRealNumber")++-- | DSL injection for the assert variant of hydra.python.syntax.SimpleStatement+simpleStatementAssert :: Typed.TypedTerm Syntax.AssertStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementAssert x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "assert"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the assignment variant of hydra.python.syntax.SimpleStatement+simpleStatementAssignment :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementAssignment x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "assignment"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the break variant of hydra.python.syntax.SimpleStatement+simpleStatementBreak :: Typed.TypedTerm Syntax.SimpleStatement+simpleStatementBreak =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "break"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the continue variant of hydra.python.syntax.SimpleStatement+simpleStatementContinue :: Typed.TypedTerm Syntax.SimpleStatement+simpleStatementContinue =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "continue"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the del variant of hydra.python.syntax.SimpleStatement+simpleStatementDel :: Typed.TypedTerm Syntax.DelStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementDel x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "del"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the global variant of hydra.python.syntax.SimpleStatement+simpleStatementGlobal :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementGlobal x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "global"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the import variant of hydra.python.syntax.SimpleStatement+simpleStatementImport :: Typed.TypedTerm Syntax.ImportStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementImport x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "import"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the nonlocal variant of hydra.python.syntax.SimpleStatement+simpleStatementNonlocal :: Typed.TypedTerm [Syntax.Name] -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementNonlocal x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "nonlocal"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the pass variant of hydra.python.syntax.SimpleStatement+simpleStatementPass :: Typed.TypedTerm Syntax.SimpleStatement+simpleStatementPass =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "pass"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the raise variant of hydra.python.syntax.SimpleStatement+simpleStatementRaise :: Typed.TypedTerm Syntax.RaiseStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementRaise x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "raise"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the return variant of hydra.python.syntax.SimpleStatement+simpleStatementReturn :: Typed.TypedTerm Syntax.ReturnStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementReturn x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "return"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SimpleStatement+simpleStatementSimpleStatement :: Typed.TypedName Syntax.SimpleStatement+simpleStatementSimpleStatement = Typed.TypedName (Model.Name "hydra.python.syntax.SimpleStatement")++-- | DSL injection for the starExpressions variant of hydra.python.syntax.SimpleStatement+simpleStatementStarExpressions :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementStarExpressions x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starExpressions"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the typeAlias variant of hydra.python.syntax.SimpleStatement+simpleStatementTypeAlias :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementTypeAlias x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "typeAlias"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the yield variant of hydra.python.syntax.SimpleStatement+simpleStatementYield :: Typed.TypedTerm Syntax.YieldStatement -> Typed.TypedTerm Syntax.SimpleStatement+simpleStatementYield x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SimpleStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "yield"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.SimpleTypeParameter+simpleTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter+simpleTypeParameter name bound default_ =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "bound"),+          Model.fieldTerm = (Typed.unTypedTerm bound)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the bound field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterBound :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)+simpleTypeParameterBound x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+        Model.projectionFieldName = (Model.Name "bound")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the default field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterDefault :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression)+simpleTypeParameterDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+        Model.projectionFieldName = (Model.Name "default")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterName :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.Name+simpleTypeParameterName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterSimpleTypeParameter :: Typed.TypedName Syntax.SimpleTypeParameter+simpleTypeParameterSimpleTypeParameter = Typed.TypedName (Model.Name "hydra.python.syntax.SimpleTypeParameter")++-- | DSL updater for the bound field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterWithBound :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter+simpleTypeParameterWithBound original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "bound"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the default field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterWithDefault :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SimpleTypeParameter+simpleTypeParameterWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "bound"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+              Model.projectionFieldName = (Model.Name "bound")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.SimpleTypeParameter+simpleTypeParameterWithName :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.SimpleTypeParameter+simpleTypeParameterWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "bound"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+              Model.projectionFieldName = (Model.Name "bound")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SimpleTypeParameter"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the primaryAndName variant of hydra.python.syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetPrimaryAndName x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "primaryAndName"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetPrimaryAndSlices x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "primaryAndSlices"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetSingleSubscriptAttributeTarget :: Typed.TypedName Syntax.SingleSubscriptAttributeTarget+singleSubscriptAttributeTargetSingleSubscriptAttributeTarget =+    Typed.TypedName (Model.Name "hydra.python.syntax.SingleSubscriptAttributeTarget")++-- | DSL injection for the name variant of hydra.python.syntax.SingleTarget+singleTargetName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.SingleTarget+singleTargetName x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "name"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the parens variant of hydra.python.syntax.SingleTarget+singleTargetParens :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.SingleTarget+singleTargetParens x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "parens"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SingleTarget+singleTargetSingleTarget :: Typed.TypedName Syntax.SingleTarget+singleTargetSingleTarget = Typed.TypedName (Model.Name "hydra.python.syntax.SingleTarget")++-- | DSL injection for the subscriptAttributeTarget variant of hydra.python.syntax.SingleTarget+singleTargetSubscriptAttributeTarget :: Typed.TypedTerm Syntax.SingleSubscriptAttributeTarget -> Typed.TypedTerm Syntax.SingleTarget+singleTargetSubscriptAttributeTarget x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SingleTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "subscriptAttributeTarget"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.SlashNoDefault wrapper+slashNoDefault :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashNoDefault+slashNoDefault x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.SlashNoDefault"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParameters :: Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParameters slash paramNoDefault paramWithDefault starEtc =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slash"),+          Model.fieldTerm = (Typed.unTypedTerm slash)},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]+slashNoDefaultParametersParamNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+        Model.projectionFieldName = (Model.Name "paramNoDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]+slashNoDefaultParametersParamWithDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+        Model.projectionFieldName = (Model.Name "paramWithDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the slash field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersSlash :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.SlashNoDefault+slashNoDefaultParametersSlash x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+        Model.projectionFieldName = (Model.Name "slash")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersSlashNoDefaultParameters :: Typed.TypedName Syntax.SlashNoDefaultParameters+slashNoDefaultParametersSlashNoDefaultParameters =+    Typed.TypedName (Model.Name "hydra.python.syntax.SlashNoDefaultParameters")++-- | DSL accessor for the starEtc field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersStarEtc :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)+slashNoDefaultParametersStarEtc x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+        Model.projectionFieldName = (Model.Name "starEtc")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithParamNoDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slash"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "slash")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithParamWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slash"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "slash")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the slash field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithSlash :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithSlash original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slash"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.SlashNoDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashNoDefaultParameters+slashNoDefaultParametersWithStarEtc original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "slash"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "slash")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashNoDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.SlashNoDefault+slashNoDefaultSlashNoDefault :: Typed.TypedName Syntax.SlashNoDefault+slashNoDefaultSlashNoDefault = Typed.TypedName (Model.Name "hydra.python.syntax.SlashNoDefault")++-- | DSL constructor for hydra.python.syntax.SlashWithDefault+slashWithDefault :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefault+slashWithDefault paramNoDefault paramWithDefault =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)}]}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashWithDefault+slashWithDefaultParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamNoDefault]+slashWithDefaultParamNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+        Model.projectionFieldName = (Model.Name "paramNoDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashWithDefault+slashWithDefaultParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamWithDefault]+slashWithDefaultParamWithDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+        Model.projectionFieldName = (Model.Name "paramWithDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParameters :: Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashWithDefaultParameters+slashWithDefaultParameters paramNoDefault paramWithDefault starEtc =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramNoDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm paramWithDefault)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm starEtc)}]}))++-- | DSL accessor for the paramNoDefault field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault]+slashWithDefaultParametersParamNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+        Model.projectionFieldName = (Model.Name "paramNoDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the paramWithDefault field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault]+slashWithDefaultParametersParamWithDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+        Model.projectionFieldName = (Model.Name "paramWithDefault")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersSlashWithDefaultParameters :: Typed.TypedName Syntax.SlashWithDefaultParameters+slashWithDefaultParametersSlashWithDefaultParameters =+    Typed.TypedName (Model.Name "hydra.python.syntax.SlashWithDefaultParameters")++-- | DSL accessor for the starEtc field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersStarEtc :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc)+slashWithDefaultParametersStarEtc x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+        Model.projectionFieldName = (Model.Name "starEtc")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithParamNoDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithParamWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+              Model.projectionFieldName = (Model.Name "starEtc")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the starEtc field of hydra.python.syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithStarEtc :: Typed.TypedTerm Syntax.SlashWithDefaultParameters -> Typed.TypedTerm (Maybe Syntax.StarEtc) -> Typed.TypedTerm Syntax.SlashWithDefaultParameters+slashWithDefaultParametersWithStarEtc original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefaultParameters"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "starEtc"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL name token for hydra.python.syntax.SlashWithDefault+slashWithDefaultSlashWithDefault :: Typed.TypedName Syntax.SlashWithDefault+slashWithDefaultSlashWithDefault = Typed.TypedName (Model.Name "hydra.python.syntax.SlashWithDefault")++-- | DSL updater for the paramNoDefault field of hydra.python.syntax.SlashWithDefault+slashWithDefaultWithParamNoDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamNoDefault] -> Typed.TypedTerm Syntax.SlashWithDefault+slashWithDefaultWithParamNoDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+              Model.projectionFieldName = (Model.Name "paramWithDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the paramWithDefault field of hydra.python.syntax.SlashWithDefault+slashWithDefaultWithParamWithDefault :: Typed.TypedTerm Syntax.SlashWithDefault -> Typed.TypedTerm [Syntax.ParamWithDefault] -> Typed.TypedTerm Syntax.SlashWithDefault+slashWithDefaultWithParamWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "paramNoDefault"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SlashWithDefault"),+              Model.projectionFieldName = (Model.Name "paramNoDefault")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "paramWithDefault"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.SliceExpression+sliceExpression :: Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression+sliceExpression start stop step =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "start"),+          Model.fieldTerm = (Typed.unTypedTerm start)},+        Model.Field {+          Model.fieldName = (Model.Name "stop"),+          Model.fieldTerm = (Typed.unTypedTerm stop)},+        Model.Field {+          Model.fieldName = (Model.Name "step"),+          Model.fieldTerm = (Typed.unTypedTerm step)}]}))++-- | DSL name token for hydra.python.syntax.SliceExpression+sliceExpressionSliceExpression :: Typed.TypedName Syntax.SliceExpression+sliceExpressionSliceExpression = Typed.TypedName (Model.Name "hydra.python.syntax.SliceExpression")++-- | DSL accessor for the start field of hydra.python.syntax.SliceExpression+sliceExpressionStart :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)+sliceExpressionStart x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+        Model.projectionFieldName = (Model.Name "start")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the step field of hydra.python.syntax.SliceExpression+sliceExpressionStep :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)+sliceExpressionStep x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+        Model.projectionFieldName = (Model.Name "step")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the stop field of hydra.python.syntax.SliceExpression+sliceExpressionStop :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression)+sliceExpressionStop x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+        Model.projectionFieldName = (Model.Name "stop")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the start field of hydra.python.syntax.SliceExpression+sliceExpressionWithStart :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression+sliceExpressionWithStart original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "start"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "stop"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+              Model.projectionFieldName = (Model.Name "stop")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "step"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+              Model.projectionFieldName = (Model.Name "step")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the step field of hydra.python.syntax.SliceExpression+sliceExpressionWithStep :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression+sliceExpressionWithStep original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "start"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+              Model.projectionFieldName = (Model.Name "start")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "stop"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+              Model.projectionFieldName = (Model.Name "stop")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "step"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the stop field of hydra.python.syntax.SliceExpression+sliceExpressionWithStop :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm (Maybe Syntax.Expression) -> Typed.TypedTerm Syntax.SliceExpression+sliceExpressionWithStop original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "start"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+              Model.projectionFieldName = (Model.Name "start")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "stop"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "step"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SliceExpression"),+              Model.projectionFieldName = (Model.Name "step")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the named variant of hydra.python.syntax.Slice+sliceNamed :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Slice+sliceNamed x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Slice"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "named"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the slice variant of hydra.python.syntax.SliceOrStarredExpression+sliceOrStarredExpressionSlice :: Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm Syntax.SliceOrStarredExpression+sliceOrStarredExpressionSlice x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SliceOrStarredExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "slice"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SliceOrStarredExpression+sliceOrStarredExpressionSliceOrStarredExpression :: Typed.TypedName Syntax.SliceOrStarredExpression+sliceOrStarredExpressionSliceOrStarredExpression =+    Typed.TypedName (Model.Name "hydra.python.syntax.SliceOrStarredExpression")++-- | DSL injection for the starred variant of hydra.python.syntax.SliceOrStarredExpression+sliceOrStarredExpressionStarred :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.SliceOrStarredExpression+sliceOrStarredExpressionStarred x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SliceOrStarredExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starred"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Slice+sliceSlice :: Typed.TypedName Syntax.Slice+sliceSlice = Typed.TypedName (Model.Name "hydra.python.syntax.Slice")++-- | DSL injection for the slice_ variant of hydra.python.syntax.Slice+sliceSlice_ :: Typed.TypedTerm Syntax.SliceExpression -> Typed.TypedTerm Syntax.Slice+sliceSlice_ x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Slice"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "slice_"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.Slices+slices :: Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Slices+slices head tail =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Slices"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "head"),+          Model.fieldTerm = (Typed.unTypedTerm head)},+        Model.Field {+          Model.fieldName = (Model.Name "tail"),+          Model.fieldTerm = (Typed.unTypedTerm tail)}]}))++-- | DSL accessor for the head field of hydra.python.syntax.Slices+slicesHead :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.Slice+slicesHead x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Slices"),+        Model.projectionFieldName = (Model.Name "head")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Slices+slicesSlices :: Typed.TypedName Syntax.Slices+slicesSlices = Typed.TypedName (Model.Name "hydra.python.syntax.Slices")++-- | DSL accessor for the tail field of hydra.python.syntax.Slices+slicesTail :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm [Syntax.SliceOrStarredExpression]+slicesTail x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Slices"),+        Model.projectionFieldName = (Model.Name "tail")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the head field of hydra.python.syntax.Slices+slicesWithHead :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm Syntax.Slices+slicesWithHead original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Slices"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "head"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "tail"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Slices"),+              Model.projectionFieldName = (Model.Name "tail")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the tail field of hydra.python.syntax.Slices+slicesWithTail :: Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Slices+slicesWithTail original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Slices"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "head"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Slices"),+              Model.projectionFieldName = (Model.Name "head")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "tail"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.StarAnnotation wrapper+starAnnotation :: Typed.TypedTerm Syntax.StarExpression -> Typed.TypedTerm Syntax.StarAnnotation+starAnnotation x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarAnnotation"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarAnnotation+starAnnotationStarAnnotation :: Typed.TypedName Syntax.StarAnnotation+starAnnotationStarAnnotation = Typed.TypedName (Model.Name "hydra.python.syntax.StarAnnotation")++-- | DSL injection for the name variant of hydra.python.syntax.StarAtom+starAtomName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarAtom+starAtomName x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "name"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarAtom+starAtomStarAtom :: Typed.TypedName Syntax.StarAtom+starAtomStarAtom = Typed.TypedName (Model.Name "hydra.python.syntax.StarAtom")++-- | DSL injection for the starTargetsListSeq variant of hydra.python.syntax.StarAtom+starAtomStarTargetsListSeq :: Typed.TypedTerm (Maybe Syntax.StarTargetsListSeq) -> Typed.TypedTerm Syntax.StarAtom+starAtomStarTargetsListSeq x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starTargetsListSeq"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starTargetsTupleSeq variant of hydra.python.syntax.StarAtom+starAtomStarTargetsTupleSeq :: Typed.TypedTerm (Maybe Syntax.StarTargetsTupleSeq) -> Typed.TypedTerm Syntax.StarAtom+starAtomStarTargetsTupleSeq x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starTargetsTupleSeq"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the targetWithStarAtom variant of hydra.python.syntax.StarAtom+starAtomTargetWithStarAtom :: Typed.TypedTerm Syntax.TargetWithStarAtom -> Typed.TypedTerm Syntax.StarAtom+starAtomTargetWithStarAtom x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "targetWithStarAtom"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the keywords variant of hydra.python.syntax.StarEtc+starEtcKeywords :: Typed.TypedTerm Syntax.Keywords -> Typed.TypedTerm Syntax.StarEtc+starEtcKeywords x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarEtc"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "keywords"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starComma variant of hydra.python.syntax.StarEtc+starEtcStarComma :: Typed.TypedTerm Syntax.CommaStarEtc -> Typed.TypedTerm Syntax.StarEtc+starEtcStarComma x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarEtc"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starComma"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarEtc+starEtcStarEtc :: Typed.TypedName Syntax.StarEtc+starEtcStarEtc = Typed.TypedName (Model.Name "hydra.python.syntax.StarEtc")++-- | DSL injection for the starNoDefault variant of hydra.python.syntax.StarEtc+starEtcStarNoDefault :: Typed.TypedTerm Syntax.NoDefaultStarEtc -> Typed.TypedTerm Syntax.StarEtc+starEtcStarNoDefault x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarEtc"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starNoDefault"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starNoDefaultStarAnnotation variant of hydra.python.syntax.StarEtc+starEtcStarNoDefaultStarAnnotation :: Typed.TypedTerm Syntax.NoDefaultStarAnnotationStarEtc -> Typed.TypedTerm Syntax.StarEtc+starEtcStarNoDefaultStarAnnotation x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarEtc"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starNoDefaultStarAnnotation"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.StarExpression+starExpressionSimple :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarExpression+starExpressionSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.StarExpression+starExpressionStar :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.StarExpression+starExpressionStar x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "star"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarExpression+starExpressionStarExpression :: Typed.TypedName Syntax.StarExpression+starExpressionStarExpression = Typed.TypedName (Model.Name "hydra.python.syntax.StarExpression")++-- | DSL injection for the simple variant of hydra.python.syntax.StarNamedExpression+starNamedExpressionSimple :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.StarNamedExpression+starNamedExpressionSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarNamedExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.StarNamedExpression+starNamedExpressionStar :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.StarNamedExpression+starNamedExpressionStar x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarNamedExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "star"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarNamedExpression+starNamedExpressionStarNamedExpression :: Typed.TypedName Syntax.StarNamedExpression+starNamedExpressionStarNamedExpression = Typed.TypedName (Model.Name "hydra.python.syntax.StarNamedExpression")++-- | DSL constructor for the hydra.python.syntax.StarNamedExpressions wrapper+starNamedExpressions :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.StarNamedExpressions+starNamedExpressions x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarNamedExpressions"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarNamedExpressions+starNamedExpressionsStarNamedExpressions :: Typed.TypedName Syntax.StarNamedExpressions+starNamedExpressionsStarNamedExpressions = Typed.TypedName (Model.Name "hydra.python.syntax.StarNamedExpressions")++-- | DSL injection for the capture variant of hydra.python.syntax.StarPattern+starPatternCapture :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.StarPattern+starPatternCapture x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "capture"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.StarPattern+starPatternStarPattern :: Typed.TypedName Syntax.StarPattern+starPatternStarPattern = Typed.TypedName (Model.Name "hydra.python.syntax.StarPattern")++-- | DSL injection for the wildcard variant of hydra.python.syntax.StarPattern+starPatternWildcard :: Typed.TypedTerm Syntax.StarPattern+starPatternWildcard =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarPattern"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "wildcard"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.StarTarget+starTargetStarTarget :: Typed.TypedName Syntax.StarTarget+starTargetStarTarget = Typed.TypedName (Model.Name "hydra.python.syntax.StarTarget")++-- | DSL injection for the starred variant of hydra.python.syntax.StarTarget+starTargetStarred :: Typed.TypedTerm Syntax.StarTarget -> Typed.TypedTerm Syntax.StarTarget+starTargetStarred x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starred"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the unstarred variant of hydra.python.syntax.StarTarget+starTargetUnstarred :: Typed.TypedTerm Syntax.TargetWithStarAtom -> Typed.TypedTerm Syntax.StarTarget+starTargetUnstarred x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StarTarget"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "unstarred"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for the hydra.python.syntax.StarTargetsListSeq wrapper+starTargetsListSeq :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.StarTargetsListSeq+starTargetsListSeq x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarTargetsListSeq"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarTargetsListSeq+starTargetsListSeqStarTargetsListSeq :: Typed.TypedName Syntax.StarTargetsListSeq+starTargetsListSeqStarTargetsListSeq = Typed.TypedName (Model.Name "hydra.python.syntax.StarTargetsListSeq")++-- | DSL constructor for the hydra.python.syntax.StarTargetsTupleSeq wrapper+starTargetsTupleSeq :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.StarTargetsTupleSeq+starTargetsTupleSeq x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarTargetsTupleSeq"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarTargetsTupleSeq+starTargetsTupleSeqStarTargetsTupleSeq :: Typed.TypedName Syntax.StarTargetsTupleSeq+starTargetsTupleSeqStarTargetsTupleSeq = Typed.TypedName (Model.Name "hydra.python.syntax.StarTargetsTupleSeq")++-- | DSL constructor for hydra.python.syntax.StarTypeParameter+starTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe Syntax.StarExpression) -> Typed.TypedTerm Syntax.StarTypeParameter+starTypeParameter name default_ =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm default_)}]}))++-- | DSL accessor for the default field of hydra.python.syntax.StarTypeParameter+starTypeParameterDefault :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm (Maybe Syntax.StarExpression)+starTypeParameterDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+        Model.projectionFieldName = (Model.Name "default")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.StarTypeParameter+starTypeParameterName :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.Name+starTypeParameterName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarTypeParameter+starTypeParameterStarTypeParameter :: Typed.TypedName Syntax.StarTypeParameter+starTypeParameterStarTypeParameter = Typed.TypedName (Model.Name "hydra.python.syntax.StarTypeParameter")++-- | DSL updater for the default field of hydra.python.syntax.StarTypeParameter+starTypeParameterWithDefault :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm (Maybe Syntax.StarExpression) -> Typed.TypedTerm Syntax.StarTypeParameter+starTypeParameterWithDefault original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.StarTypeParameter+starTypeParameterWithName :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarTypeParameter+starTypeParameterWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "default"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.StarTypeParameter"),+              Model.projectionFieldName = (Model.Name "default")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.StarredExpression wrapper+starredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarredExpression+starredExpression x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.StarredExpression"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.StarredExpression+starredExpressionStarredExpression :: Typed.TypedName Syntax.StarredExpression+starredExpressionStarredExpression = Typed.TypedName (Model.Name "hydra.python.syntax.StarredExpression")++-- | DSL injection for the annotated variant of hydra.python.syntax.Statement+statementAnnotated :: Typed.TypedTerm Syntax.AnnotatedStatement -> Typed.TypedTerm Syntax.Statement+statementAnnotated x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Statement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "annotated"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the compound variant of hydra.python.syntax.Statement+statementCompound :: Typed.TypedTerm Syntax.CompoundStatement -> Typed.TypedTerm Syntax.Statement+statementCompound x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Statement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "compound"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.Statement+statementSimple :: Typed.TypedTerm [Syntax.SimpleStatement] -> Typed.TypedTerm Syntax.Statement+statementSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.Statement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.Statement+statementStatement :: Typed.TypedName Syntax.Statement+statementStatement = Typed.TypedName (Model.Name "hydra.python.syntax.Statement")++-- | DSL constructor for hydra.python.syntax.String+string :: Typed.TypedTerm String -> Typed.TypedTerm (Maybe Syntax.StringPrefix) -> Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm Syntax.String_+string value prefix quoteStyle =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.String"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Typed.unTypedTerm value)},+        Model.Field {+          Model.fieldName = (Model.Name "prefix"),+          Model.fieldTerm = (Typed.unTypedTerm prefix)},+        Model.Field {+          Model.fieldName = (Model.Name "quoteStyle"),+          Model.fieldTerm = (Typed.unTypedTerm quoteStyle)}]}))++-- | DSL accessor for the prefix field of hydra.python.syntax.String+stringPrefix :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm (Maybe Syntax.StringPrefix)+stringPrefix x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+        Model.projectionFieldName = (Model.Name "prefix")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL injection for the bytes variant of hydra.python.syntax.StringPrefix+stringPrefixBytes :: Typed.TypedTerm Syntax.StringPrefix+stringPrefixBytes =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StringPrefix"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "bytes"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the raw variant of hydra.python.syntax.StringPrefix+stringPrefixRaw :: Typed.TypedTerm Syntax.StringPrefix+stringPrefixRaw =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StringPrefix"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "raw"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the rawBytes variant of hydra.python.syntax.StringPrefix+stringPrefixRawBytes :: Typed.TypedTerm Syntax.StringPrefix+stringPrefixRawBytes =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StringPrefix"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "rawBytes"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.StringPrefix+stringPrefixStringPrefix :: Typed.TypedName Syntax.StringPrefix+stringPrefixStringPrefix = Typed.TypedName (Model.Name "hydra.python.syntax.StringPrefix")++-- | DSL injection for the unicode variant of hydra.python.syntax.StringPrefix+stringPrefixUnicode :: Typed.TypedTerm Syntax.StringPrefix+stringPrefixUnicode =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.StringPrefix"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "unicode"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL accessor for the quoteStyle field of hydra.python.syntax.String+stringQuoteStyle :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.QuoteStyle+stringQuoteStyle x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+        Model.projectionFieldName = (Model.Name "quoteStyle")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.String+stringString :: Typed.TypedName Syntax.String_+stringString = Typed.TypedName (Model.Name "hydra.python.syntax.String")++-- | DSL accessor for the value field of hydra.python.syntax.String+stringValue :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm String+stringValue x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+        Model.projectionFieldName = (Model.Name "value")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the prefix field of hydra.python.syntax.String+stringWithPrefix :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm (Maybe Syntax.StringPrefix) -> Typed.TypedTerm Syntax.String_+stringWithPrefix original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.String"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+              Model.projectionFieldName = (Model.Name "value")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "prefix"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "quoteStyle"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+              Model.projectionFieldName = (Model.Name "quoteStyle")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the quoteStyle field of hydra.python.syntax.String+stringWithQuoteStyle :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm Syntax.String_+stringWithQuoteStyle original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.String"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+              Model.projectionFieldName = (Model.Name "value")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "prefix"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+              Model.projectionFieldName = (Model.Name "prefix")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "quoteStyle"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the value field of hydra.python.syntax.String+stringWithValue :: Typed.TypedTerm Syntax.String_ -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.String_+stringWithValue original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.String"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "value"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "prefix"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+              Model.projectionFieldName = (Model.Name "prefix")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "quoteStyle"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.String"),+              Model.projectionFieldName = (Model.Name "quoteStyle")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the simple variant of hydra.python.syntax.SubjectExpression+subjectExpressionSimple :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.SubjectExpression+subjectExpressionSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SubjectExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.SubjectExpression+subjectExpressionSubjectExpression :: Typed.TypedName Syntax.SubjectExpression+subjectExpressionSubjectExpression = Typed.TypedName (Model.Name "hydra.python.syntax.SubjectExpression")++-- | DSL injection for the tuple variant of hydra.python.syntax.SubjectExpression+subjectExpressionTuple :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.SubjectExpression+subjectExpressionTuple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SubjectExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "tuple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL constructor for hydra.python.syntax.Sum+sum :: Typed.TypedTerm (Maybe Syntax.SumLhs) -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Sum+sum lhs rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Sum"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.Sum+sumLhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm (Maybe Syntax.SumLhs)+sumLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Sum"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.SumLhs+sumLhs2 :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.SumOp -> Typed.TypedTerm Syntax.SumLhs+sumLhs2 operand operator =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operand"),+          Model.fieldTerm = (Typed.unTypedTerm operand)},+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Typed.unTypedTerm operator)}]}))++-- | DSL accessor for the operand field of hydra.python.syntax.SumLhs+sumLhsOperand :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.Sum+sumLhsOperand x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+        Model.projectionFieldName = (Model.Name "operand")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.python.syntax.SumLhs+sumLhsOperator :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.SumOp+sumLhsOperator x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+        Model.projectionFieldName = (Model.Name "operator")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.SumLhs+sumLhsSumLhs :: Typed.TypedName Syntax.SumLhs+sumLhsSumLhs = Typed.TypedName (Model.Name "hydra.python.syntax.SumLhs")++-- | DSL updater for the operand field of hydra.python.syntax.SumLhs+sumLhsWithOperand :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.SumLhs+sumLhsWithOperand original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operand"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+              Model.projectionFieldName = (Model.Name "operator")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.python.syntax.SumLhs+sumLhsWithOperator :: Typed.TypedTerm Syntax.SumLhs -> Typed.TypedTerm Syntax.SumOp -> Typed.TypedTerm Syntax.SumLhs+sumLhsWithOperator original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operand"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.SumLhs"),+              Model.projectionFieldName = (Model.Name "operand")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the add variant of hydra.python.syntax.SumOp+sumOpAdd :: Typed.TypedTerm Syntax.SumOp+sumOpAdd =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SumOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "add"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the sub variant of hydra.python.syntax.SumOp+sumOpSub :: Typed.TypedTerm Syntax.SumOp+sumOpSub =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.SumOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "sub"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.SumOp+sumOpSumOp :: Typed.TypedName Syntax.SumOp+sumOpSumOp = Typed.TypedName (Model.Name "hydra.python.syntax.SumOp")++-- | DSL accessor for the rhs field of hydra.python.syntax.Sum+sumRhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.Term+sumRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Sum"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Sum+sumSum :: Typed.TypedName Syntax.Sum+sumSum = Typed.TypedName (Model.Name "hydra.python.syntax.Sum")++-- | DSL updater for the lhs field of hydra.python.syntax.Sum+sumWithLhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm (Maybe Syntax.SumLhs) -> Typed.TypedTerm Syntax.Sum+sumWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Sum"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Sum"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.Sum+sumWithRhs :: Typed.TypedTerm Syntax.Sum -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Sum+sumWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Sum"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Sum"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArguments :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.TPrimaryAndArguments+tPrimaryAndArguments primary arguments =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm primary)},+        Model.Field {+          Model.fieldName = (Model.Name "arguments"),+          Model.fieldTerm = (Typed.unTypedTerm arguments)}]}))++-- | DSL accessor for the arguments field of hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm (Maybe Syntax.Args)+tPrimaryAndArgumentsArguments x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+        Model.projectionFieldName = (Model.Name "arguments")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsPrimary :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAndArgumentsPrimary x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+        Model.projectionFieldName = (Model.Name "primary")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsTPrimaryAndArguments :: Typed.TypedName Syntax.TPrimaryAndArguments+tPrimaryAndArgumentsTPrimaryAndArguments = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimaryAndArguments")++-- | DSL updater for the arguments field of hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsWithArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm (Maybe Syntax.Args) -> Typed.TypedTerm Syntax.TPrimaryAndArguments+tPrimaryAndArgumentsWithArguments original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+              Model.projectionFieldName = (Model.Name "primary")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "arguments"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndArguments+tPrimaryAndArgumentsWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndArguments+tPrimaryAndArgumentsWithPrimary original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "arguments"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndArguments"),+              Model.projectionFieldName = (Model.Name "arguments")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexp :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.TPrimaryAndGenexp+tPrimaryAndGenexp primary genexp =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm primary)},+        Model.Field {+          Model.fieldName = (Model.Name "genexp"),+          Model.fieldTerm = (Typed.unTypedTerm genexp)}]}))++-- | DSL accessor for the genexp field of hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.Genexp+tPrimaryAndGenexpGenexp x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+        Model.projectionFieldName = (Model.Name "genexp")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpPrimary :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAndGenexpPrimary x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+        Model.projectionFieldName = (Model.Name "primary")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpTPrimaryAndGenexp :: Typed.TypedName Syntax.TPrimaryAndGenexp+tPrimaryAndGenexpTPrimaryAndGenexp = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimaryAndGenexp")++-- | DSL updater for the genexp field of hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpWithGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.Genexp -> Typed.TypedTerm Syntax.TPrimaryAndGenexp+tPrimaryAndGenexpWithGenexp original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+              Model.projectionFieldName = (Model.Name "primary")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "genexp"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndGenexp+tPrimaryAndGenexpWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndGenexp+tPrimaryAndGenexpWithPrimary original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "genexp"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndGenexp"),+              Model.projectionFieldName = (Model.Name "genexp")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.TPrimaryAndName+tPrimaryAndName :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TPrimaryAndName+tPrimaryAndName primary name =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm primary)},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)}]}))++-- | DSL accessor for the name field of hydra.python.syntax.TPrimaryAndName+tPrimaryAndNameName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.Name+tPrimaryAndNameName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndName+tPrimaryAndNamePrimary :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAndNamePrimary x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+        Model.projectionFieldName = (Model.Name "primary")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TPrimaryAndName+tPrimaryAndNameTPrimaryAndName :: Typed.TypedName Syntax.TPrimaryAndName+tPrimaryAndNameTPrimaryAndName = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimaryAndName")++-- | DSL updater for the name field of hydra.python.syntax.TPrimaryAndName+tPrimaryAndNameWithName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TPrimaryAndName+tPrimaryAndNameWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+              Model.projectionFieldName = (Model.Name "primary")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndName+tPrimaryAndNameWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndName+tPrimaryAndNameWithPrimary original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndName"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.TPrimaryAndSlices+tPrimaryAndSlices primary slices =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm primary)},+        Model.Field {+          Model.fieldName = (Model.Name "slices"),+          Model.fieldTerm = (Typed.unTypedTerm slices)}]}))++-- | DSL accessor for the primary field of hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesPrimary :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAndSlicesPrimary x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+        Model.projectionFieldName = (Model.Name "primary")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the slices field of hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.Slices+tPrimaryAndSlicesSlices x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+        Model.projectionFieldName = (Model.Name "slices")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesTPrimaryAndSlices :: Typed.TypedName Syntax.TPrimaryAndSlices+tPrimaryAndSlicesTPrimaryAndSlices = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimaryAndSlices")++-- | DSL updater for the primary field of hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesWithPrimary :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary -> Typed.TypedTerm Syntax.TPrimaryAndSlices+tPrimaryAndSlicesWithPrimary original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "slices"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+              Model.projectionFieldName = (Model.Name "slices")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the slices field of hydra.python.syntax.TPrimaryAndSlices+tPrimaryAndSlicesWithSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.Slices -> Typed.TypedTerm Syntax.TPrimaryAndSlices+tPrimaryAndSlicesWithSlices original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "primary"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TPrimaryAndSlices"),+              Model.projectionFieldName = (Model.Name "primary")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "slices"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the atom variant of hydra.python.syntax.TPrimary+tPrimaryAtom :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.TPrimary+tPrimaryAtom x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "atom"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndArguments variant of hydra.python.syntax.TPrimary+tPrimaryPrimaryAndArguments :: Typed.TypedTerm Syntax.TPrimaryAndArguments -> Typed.TypedTerm Syntax.TPrimary+tPrimaryPrimaryAndArguments x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "primaryAndArguments"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndGenexp variant of hydra.python.syntax.TPrimary+tPrimaryPrimaryAndGenexp :: Typed.TypedTerm Syntax.TPrimaryAndGenexp -> Typed.TypedTerm Syntax.TPrimary+tPrimaryPrimaryAndGenexp x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "primaryAndGenexp"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndName variant of hydra.python.syntax.TPrimary+tPrimaryPrimaryAndName :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TPrimary+tPrimaryPrimaryAndName x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "primaryAndName"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the primaryAndSlices variant of hydra.python.syntax.TPrimary+tPrimaryPrimaryAndSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TPrimary+tPrimaryPrimaryAndSlices x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TPrimary"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "primaryAndSlices"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TPrimary+tPrimaryTPrimary :: Typed.TypedName Syntax.TPrimary+tPrimaryTPrimary = Typed.TypedName (Model.Name "hydra.python.syntax.TPrimary")++-- | DSL injection for the atom variant of hydra.python.syntax.TargetWithStarAtom+targetWithStarAtomAtom :: Typed.TypedTerm Syntax.StarAtom -> Typed.TypedTerm Syntax.TargetWithStarAtom+targetWithStarAtomAtom x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TargetWithStarAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "atom"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the project variant of hydra.python.syntax.TargetWithStarAtom+targetWithStarAtomProject :: Typed.TypedTerm Syntax.TPrimaryAndName -> Typed.TypedTerm Syntax.TargetWithStarAtom+targetWithStarAtomProject x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TargetWithStarAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "project"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the slices variant of hydra.python.syntax.TargetWithStarAtom+targetWithStarAtomSlices :: Typed.TypedTerm Syntax.TPrimaryAndSlices -> Typed.TypedTerm Syntax.TargetWithStarAtom+targetWithStarAtomSlices x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TargetWithStarAtom"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "slices"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TargetWithStarAtom+targetWithStarAtomTargetWithStarAtom :: Typed.TypedName Syntax.TargetWithStarAtom+targetWithStarAtomTargetWithStarAtom = Typed.TypedName (Model.Name "hydra.python.syntax.TargetWithStarAtom")++-- | DSL constructor for hydra.python.syntax.Term+term :: Typed.TypedTerm (Maybe Syntax.TermLhs) -> Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Term+term lhs rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Term"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.Term+termLhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm (Maybe Syntax.TermLhs)+termLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Term"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.TermLhs+termLhs2 :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermOp -> Typed.TypedTerm Syntax.TermLhs+termLhs2 operand operator =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operand"),+          Model.fieldTerm = (Typed.unTypedTerm operand)},+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Typed.unTypedTerm operator)}]}))++-- | DSL accessor for the operand field of hydra.python.syntax.TermLhs+termLhsOperand :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.Term+termLhsOperand x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+        Model.projectionFieldName = (Model.Name "operand")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the operator field of hydra.python.syntax.TermLhs+termLhsOperator :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.TermOp+termLhsOperator x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+        Model.projectionFieldName = (Model.Name "operator")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TermLhs+termLhsTermLhs :: Typed.TypedName Syntax.TermLhs+termLhsTermLhs = Typed.TypedName (Model.Name "hydra.python.syntax.TermLhs")++-- | DSL updater for the operand field of hydra.python.syntax.TermLhs+termLhsWithOperand :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.TermLhs+termLhsWithOperand original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operand"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+              Model.projectionFieldName = (Model.Name "operator")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the operator field of hydra.python.syntax.TermLhs+termLhsWithOperator :: Typed.TypedTerm Syntax.TermLhs -> Typed.TypedTerm Syntax.TermOp -> Typed.TypedTerm Syntax.TermLhs+termLhsWithOperator original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "operand"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TermLhs"),+              Model.projectionFieldName = (Model.Name "operand")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "operator"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the div variant of hydra.python.syntax.TermOp+termOpDiv :: Typed.TypedTerm Syntax.TermOp+termOpDiv =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "div"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the floordiv variant of hydra.python.syntax.TermOp+termOpFloordiv :: Typed.TypedTerm Syntax.TermOp+termOpFloordiv =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "floordiv"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the matmul variant of hydra.python.syntax.TermOp+termOpMatmul :: Typed.TypedTerm Syntax.TermOp+termOpMatmul =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "matmul"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the mod variant of hydra.python.syntax.TermOp+termOpMod :: Typed.TypedTerm Syntax.TermOp+termOpMod =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "mod"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL injection for the mul variant of hydra.python.syntax.TermOp+termOpMul :: Typed.TypedTerm Syntax.TermOp+termOpMul =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TermOp"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "mul"),+        Model.fieldTerm = Model.TermUnit}}))++-- | DSL name token for hydra.python.syntax.TermOp+termOpTermOp :: Typed.TypedName Syntax.TermOp+termOpTermOp = Typed.TypedName (Model.Name "hydra.python.syntax.TermOp")++-- | DSL accessor for the rhs field of hydra.python.syntax.Term+termRhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Factor+termRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.Term"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Term+termTerm :: Typed.TypedName Syntax.Term+termTerm = Typed.TypedName (Model.Name "hydra.python.syntax.Term")++-- | DSL updater for the lhs field of hydra.python.syntax.Term+termWithLhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm (Maybe Syntax.TermLhs) -> Typed.TypedTerm Syntax.Term+termWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Term"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Term"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.Term+termWithRhs :: Typed.TypedTerm Syntax.Term -> Typed.TypedTerm Syntax.Factor -> Typed.TypedTerm Syntax.Term+termWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.Term"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.Term"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm [Syntax.ExceptStarBlock] -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatement body excepts else_ finally =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Typed.unTypedTerm excepts)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm else_)},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Typed.unTypedTerm finally)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementBody :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.Block+tryExceptStarStatementBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the else field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementElse :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block)+tryExceptStarStatementElse x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+        Model.projectionFieldName = (Model.Name "else")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the excepts field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementExcepts :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm [Syntax.ExceptStarBlock]+tryExceptStarStatementExcepts x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+        Model.projectionFieldName = (Model.Name "excepts")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the finally field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementFinally :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block)+tryExceptStarStatementFinally x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+        Model.projectionFieldName = (Model.Name "finally")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementTryExceptStarStatement :: Typed.TypedName Syntax.TryExceptStarStatement+tryExceptStarStatementTryExceptStarStatement = Typed.TypedName (Model.Name "hydra.python.syntax.TryExceptStarStatement")++-- | DSL updater for the body field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementWithBody :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatementWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "excepts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "finally")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementWithElse :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatementWithElse original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "excepts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "finally")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the excepts field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementWithExcepts :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm [Syntax.ExceptStarBlock] -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatementWithExcepts original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "finally")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the finally field of hydra.python.syntax.TryExceptStarStatement+tryExceptStarStatementWithFinally :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStarStatement+tryExceptStarStatementWithFinally original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "excepts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStarStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.TryExceptStatement+tryExceptStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm [Syntax.ExceptBlock] -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatement body excepts else_ finally =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Typed.unTypedTerm excepts)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm else_)},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Typed.unTypedTerm finally)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.TryExceptStatement+tryExceptStatementBody :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.Block+tryExceptStatementBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the else field of hydra.python.syntax.TryExceptStatement+tryExceptStatementElse :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block)+tryExceptStatementElse x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+        Model.projectionFieldName = (Model.Name "else")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the excepts field of hydra.python.syntax.TryExceptStatement+tryExceptStatementExcepts :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm [Syntax.ExceptBlock]+tryExceptStatementExcepts x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+        Model.projectionFieldName = (Model.Name "excepts")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the finally field of hydra.python.syntax.TryExceptStatement+tryExceptStatementFinally :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block)+tryExceptStatementFinally x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+        Model.projectionFieldName = (Model.Name "finally")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TryExceptStatement+tryExceptStatementTryExceptStatement :: Typed.TypedName Syntax.TryExceptStatement+tryExceptStatementTryExceptStatement = Typed.TypedName (Model.Name "hydra.python.syntax.TryExceptStatement")++-- | DSL updater for the body field of hydra.python.syntax.TryExceptStatement+tryExceptStatementWithBody :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatementWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "excepts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "finally")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.TryExceptStatement+tryExceptStatementWithElse :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatementWithElse original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "excepts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "finally")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the excepts field of hydra.python.syntax.TryExceptStatement+tryExceptStatementWithExcepts :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm [Syntax.ExceptBlock] -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatementWithExcepts original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "finally")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the finally field of hydra.python.syntax.TryExceptStatement+tryExceptStatementWithFinally :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.TryExceptStatement+tryExceptStatementWithFinally original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "excepts"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "excepts")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryExceptStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.TryFinallyStatement+tryFinallyStatement :: Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement+tryFinallyStatement body finally =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Typed.unTypedTerm finally)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.TryFinallyStatement+tryFinallyStatementBody :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block+tryFinallyStatementBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the finally field of hydra.python.syntax.TryFinallyStatement+tryFinallyStatementFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block+tryFinallyStatementFinally x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+        Model.projectionFieldName = (Model.Name "finally")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TryFinallyStatement+tryFinallyStatementTryFinallyStatement :: Typed.TypedName Syntax.TryFinallyStatement+tryFinallyStatementTryFinallyStatement = Typed.TypedName (Model.Name "hydra.python.syntax.TryFinallyStatement")++-- | DSL updater for the body field of hydra.python.syntax.TryFinallyStatement+tryFinallyStatementWithBody :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement+tryFinallyStatementWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+              Model.projectionFieldName = (Model.Name "finally")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the finally field of hydra.python.syntax.TryFinallyStatement+tryFinallyStatementWithFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.TryFinallyStatement+tryFinallyStatementWithFinally original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TryFinallyStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "finally"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL injection for the except variant of hydra.python.syntax.TryStatement+tryStatementExcept :: Typed.TypedTerm Syntax.TryExceptStatement -> Typed.TypedTerm Syntax.TryStatement+tryStatementExcept x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TryStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "except"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the exceptStar variant of hydra.python.syntax.TryStatement+tryStatementExceptStar :: Typed.TypedTerm Syntax.TryExceptStarStatement -> Typed.TypedTerm Syntax.TryStatement+tryStatementExceptStar x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TryStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "exceptStar"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the finally variant of hydra.python.syntax.TryStatement+tryStatementFinally :: Typed.TypedTerm Syntax.TryFinallyStatement -> Typed.TypedTerm Syntax.TryStatement+tryStatementFinally x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TryStatement"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "finally"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TryStatement+tryStatementTryStatement :: Typed.TypedName Syntax.TryStatement+tryStatementTryStatement = Typed.TypedName (Model.Name "hydra.python.syntax.TryStatement")++-- | DSL constructor for the hydra.python.syntax.Tuple wrapper+tuple :: Typed.TypedTerm [Syntax.StarNamedExpression] -> Typed.TypedTerm Syntax.Tuple+tuple x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.Tuple"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.Tuple+tupleTuple :: Typed.TypedName Syntax.Tuple+tupleTuple = Typed.TypedName (Model.Name "hydra.python.syntax.Tuple")++-- | DSL constructor for hydra.python.syntax.TypeAlias+typeAlias :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeAlias+typeAlias name typeParams expression =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm name)},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Typed.unTypedTerm typeParams)},+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm expression)}]}))++-- | DSL accessor for the expression field of hydra.python.syntax.TypeAlias+typeAliasExpression :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Expression+typeAliasExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+        Model.projectionFieldName = (Model.Name "expression")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the name field of hydra.python.syntax.TypeAlias+typeAliasName :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Name+typeAliasName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+        Model.projectionFieldName = (Model.Name "name")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TypeAlias+typeAliasTypeAlias :: Typed.TypedName Syntax.TypeAlias+typeAliasTypeAlias = Typed.TypedName (Model.Name "hydra.python.syntax.TypeAlias")++-- | DSL accessor for the typeParams field of hydra.python.syntax.TypeAlias+typeAliasTypeParams :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm [Syntax.TypeParameter]+typeAliasTypeParams x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+        Model.projectionFieldName = (Model.Name "typeParams")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the expression field of hydra.python.syntax.TypeAlias+typeAliasWithExpression :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeAlias+typeAliasWithExpression original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the name field of hydra.python.syntax.TypeAlias+typeAliasWithName :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TypeAlias+typeAliasWithName original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+              Model.projectionFieldName = (Model.Name "typeParams")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeParams field of hydra.python.syntax.TypeAlias+typeAliasWithTypeParams :: Typed.TypedTerm Syntax.TypeAlias -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm Syntax.TypeAlias+typeAliasWithTypeParams original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "name"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+              Model.projectionFieldName = (Model.Name "name")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeParams"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypeAlias"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL constructor for the hydra.python.syntax.TypeComment wrapper+typeComment :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.TypeComment+typeComment x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.TypeComment"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TypeComment+typeCommentTypeComment :: Typed.TypedName Syntax.TypeComment+typeCommentTypeComment = Typed.TypedName (Model.Name "hydra.python.syntax.TypeComment")++-- | DSL injection for the doubleStarredExpression variant of hydra.python.syntax.TypeExpression+typeExpressionDoubleStarredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionDoubleStarredExpression x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "doubleStarredExpression"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the expression variant of hydra.python.syntax.TypeExpression+typeExpressionExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionExpression x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "expression"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the starredExpression variant of hydra.python.syntax.TypeExpression+typeExpressionStarredExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypeExpression+typeExpressionStarredExpression x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "starredExpression"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TypeExpression+typeExpressionTypeExpression :: Typed.TypedName Syntax.TypeExpression+typeExpressionTypeExpression = Typed.TypedName (Model.Name "hydra.python.syntax.TypeExpression")++-- | DSL injection for the doubleStar variant of hydra.python.syntax.TypeParameter+typeParameterDoubleStar :: Typed.TypedTerm Syntax.DoubleStarTypeParameter -> Typed.TypedTerm Syntax.TypeParameter+typeParameterDoubleStar x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeParameter"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "doubleStar"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.TypeParameter+typeParameterSimple :: Typed.TypedTerm Syntax.SimpleTypeParameter -> Typed.TypedTerm Syntax.TypeParameter+typeParameterSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeParameter"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the star variant of hydra.python.syntax.TypeParameter+typeParameterStar :: Typed.TypedTerm Syntax.StarTypeParameter -> Typed.TypedTerm Syntax.TypeParameter+typeParameterStar x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.TypeParameter"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "star"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.TypeParameter+typeParameterTypeParameter :: Typed.TypedName Syntax.TypeParameter+typeParameterTypeParameter = Typed.TypedName (Model.Name "hydra.python.syntax.TypeParameter")++-- | DSL constructor for hydra.python.syntax.TypedAssignment+typedAssignment :: Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs) -> Typed.TypedTerm Syntax.TypedAssignment+typedAssignment lhs type_ rhs =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm lhs)},+        Model.Field {+          Model.fieldName = (Model.Name "type"),+          Model.fieldTerm = (Typed.unTypedTerm type_)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)}]}))++-- | DSL accessor for the lhs field of hydra.python.syntax.TypedAssignment+typedAssignmentLhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.SingleTarget+typedAssignmentLhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+        Model.projectionFieldName = (Model.Name "lhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the rhs field of hydra.python.syntax.TypedAssignment+typedAssignmentRhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs)+typedAssignmentRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the type field of hydra.python.syntax.TypedAssignment+typedAssignmentType :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Expression+typedAssignmentType x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+        Model.projectionFieldName = (Model.Name "type")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.TypedAssignment+typedAssignmentTypedAssignment :: Typed.TypedName Syntax.TypedAssignment+typedAssignmentTypedAssignment = Typed.TypedName (Model.Name "hydra.python.syntax.TypedAssignment")++-- | DSL updater for the lhs field of hydra.python.syntax.TypedAssignment+typedAssignmentWithLhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.SingleTarget -> Typed.TypedTerm Syntax.TypedAssignment+typedAssignmentWithLhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "type"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+              Model.projectionFieldName = (Model.Name "type")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the rhs field of hydra.python.syntax.TypedAssignment+typedAssignmentWithRhs :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm (Maybe Syntax.AnnotatedRhs) -> Typed.TypedTerm Syntax.TypedAssignment+typedAssignmentWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "type"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+              Model.projectionFieldName = (Model.Name "type")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the type field of hydra.python.syntax.TypedAssignment+typedAssignmentWithType :: Typed.TypedTerm Syntax.TypedAssignment -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.TypedAssignment+typedAssignmentWithType original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "lhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+              Model.projectionFieldName = (Model.Name "lhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "type"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.TypedAssignment"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL accessor for the body of hydra.python.syntax.Annotation+unAnnotation :: Typed.TypedTerm Syntax.Annotation -> Typed.TypedTerm Syntax.Expression+unAnnotation x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Annotation")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Attribute+unAttribute :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm [Syntax.Name]+unAttribute x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Attribute")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.CapturePattern+unCapturePattern :: Typed.TypedTerm Syntax.CapturePattern -> Typed.TypedTerm Syntax.PatternCaptureTarget+unCapturePattern x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.CapturePattern")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Conjunction+unConjunction :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm [Syntax.Inversion]+unConjunction x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Conjunction")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Decorators+unDecorators :: Typed.TypedTerm Syntax.Decorators -> Typed.TypedTerm [Syntax.NamedExpression]+unDecorators x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Decorators")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Default+unDefault :: Typed.TypedTerm Syntax.Default -> Typed.TypedTerm Syntax.Expression+unDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Default")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.DelStatement+unDelStatement :: Typed.TypedTerm Syntax.DelStatement -> Typed.TypedTerm Syntax.DelTargets+unDelStatement x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.DelStatement")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.DelTargets+unDelTargets :: Typed.TypedTerm Syntax.DelTargets -> Typed.TypedTerm [Syntax.DelTarget]+unDelTargets x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.DelTargets")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Dict+unDict :: Typed.TypedTerm Syntax.Dict -> Typed.TypedTerm [Syntax.DoubleStarredKvpair]+unDict x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Dict")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Disjunction+unDisjunction :: Typed.TypedTerm Syntax.Disjunction -> Typed.TypedTerm [Syntax.Conjunction]+unDisjunction x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Disjunction")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.DottedName+unDottedName :: Typed.TypedTerm Syntax.DottedName -> Typed.TypedTerm [Syntax.Name]+unDottedName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.DottedName")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.DoubleStarPattern+unDoubleStarPattern :: Typed.TypedTerm Syntax.DoubleStarPattern -> Typed.TypedTerm Syntax.PatternCaptureTarget+unDoubleStarPattern x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.DoubleStarPattern")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Eval+unEval :: Typed.TypedTerm Syntax.Eval -> Typed.TypedTerm [Syntax.Expression]+unEval x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Eval")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.File+unFile :: Typed.TypedTerm Syntax.File -> Typed.TypedTerm [Syntax.Statement]+unFile x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.File")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ForIfClauses+unForIfClauses :: Typed.TypedTerm Syntax.ForIfClauses -> Typed.TypedTerm [Syntax.ForIfClause]+unForIfClauses x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ForIfClauses")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.FuncTypeComment+unFuncTypeComment :: Typed.TypedTerm Syntax.FuncTypeComment -> Typed.TypedTerm Syntax.TypeComment+unFuncTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.FuncTypeComment")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.GroupPattern+unGroupPattern :: Typed.TypedTerm Syntax.GroupPattern -> Typed.TypedTerm Syntax.Pattern+unGroupPattern x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.GroupPattern")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Guard+unGuard :: Typed.TypedTerm Syntax.Guard -> Typed.TypedTerm Syntax.NamedExpression+unGuard x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Guard")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ImaginaryNumber+unImaginaryNumber :: Typed.TypedTerm Syntax.ImaginaryNumber -> Typed.TypedTerm Double+unImaginaryNumber x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ImaginaryNumber")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ImportName+unImportName :: Typed.TypedTerm Syntax.ImportName -> Typed.TypedTerm [Syntax.DottedAsName]+unImportName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ImportName")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Interactive+unInteractive :: Typed.TypedTerm Syntax.Interactive -> Typed.TypedTerm Syntax.Statement+unInteractive x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Interactive")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ItemsPattern+unItemsPattern :: Typed.TypedTerm Syntax.ItemsPattern -> Typed.TypedTerm [Syntax.KeyValuePattern]+unItemsPattern x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ItemsPattern")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.KeywordPatterns+unKeywordPatterns :: Typed.TypedTerm Syntax.KeywordPatterns -> Typed.TypedTerm [Syntax.KeywordPattern]+unKeywordPatterns x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.KeywordPatterns")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Keywords+unKeywords :: Typed.TypedTerm Syntax.Keywords -> Typed.TypedTerm Syntax.ParamNoDefault+unKeywords x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Keywords")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.LambdaKwds+unLambdaKwds :: Typed.TypedTerm Syntax.LambdaKwds -> Typed.TypedTerm Syntax.LambdaParamNoDefault+unLambdaKwds x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.LambdaKwds")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.LambdaParamNoDefault+unLambdaParamNoDefault :: Typed.TypedTerm Syntax.LambdaParamNoDefault -> Typed.TypedTerm Syntax.Name+unLambdaParamNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.LambdaParamNoDefault")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.List+unList :: Typed.TypedTerm Syntax.List -> Typed.TypedTerm [Syntax.StarNamedExpression]+unList x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.List")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.MaybeSequencePattern+unMaybeSequencePattern :: Typed.TypedTerm Syntax.MaybeSequencePattern -> Typed.TypedTerm [Syntax.MaybeStarPattern]+unMaybeSequencePattern x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.MaybeSequencePattern")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Module+unModule :: Typed.TypedTerm Syntax.Module -> Typed.TypedTerm [[Syntax.Statement]]+unModule x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Module")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Name+unName :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm String+unName x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Name")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.NameOrAttribute+unNameOrAttribute :: Typed.TypedTerm Syntax.NameOrAttribute -> Typed.TypedTerm [Syntax.Name]+unNameOrAttribute x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.NameOrAttribute")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.OrPattern+unOrPattern :: Typed.TypedTerm Syntax.OrPattern -> Typed.TypedTerm [Syntax.ClosedPattern]+unOrPattern x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.OrPattern")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.PatternCaptureTarget+unPatternCaptureTarget :: Typed.TypedTerm Syntax.PatternCaptureTarget -> Typed.TypedTerm Syntax.Name+unPatternCaptureTarget x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.PatternCaptureTarget")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.PositionalPatterns+unPositionalPatterns :: Typed.TypedTerm Syntax.PositionalPatterns -> Typed.TypedTerm [Syntax.Pattern]+unPositionalPatterns x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.PositionalPatterns")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.RaiseStatement+unRaiseStatement :: Typed.TypedTerm Syntax.RaiseStatement -> Typed.TypedTerm (Maybe Syntax.RaiseExpression)+unRaiseStatement x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.RaiseStatement")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ReturnStatement+unReturnStatement :: Typed.TypedTerm Syntax.ReturnStatement -> Typed.TypedTerm [Syntax.StarExpression]+unReturnStatement x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ReturnStatement")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Set+unSet :: Typed.TypedTerm Syntax.Set -> Typed.TypedTerm [Syntax.StarNamedExpression]+unSet x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Set")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.SlashNoDefault+unSlashNoDefault :: Typed.TypedTerm Syntax.SlashNoDefault -> Typed.TypedTerm [Syntax.ParamNoDefault]+unSlashNoDefault x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.SlashNoDefault")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarAnnotation+unStarAnnotation :: Typed.TypedTerm Syntax.StarAnnotation -> Typed.TypedTerm Syntax.StarExpression+unStarAnnotation x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarAnnotation")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarNamedExpressions+unStarNamedExpressions :: Typed.TypedTerm Syntax.StarNamedExpressions -> Typed.TypedTerm [Syntax.StarNamedExpression]+unStarNamedExpressions x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarNamedExpressions")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarTargetsListSeq+unStarTargetsListSeq :: Typed.TypedTerm Syntax.StarTargetsListSeq -> Typed.TypedTerm [Syntax.StarTarget]+unStarTargetsListSeq x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarTargetsListSeq")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarTargetsTupleSeq+unStarTargetsTupleSeq :: Typed.TypedTerm Syntax.StarTargetsTupleSeq -> Typed.TypedTerm [Syntax.StarTarget]+unStarTargetsTupleSeq x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarTargetsTupleSeq")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.StarredExpression+unStarredExpression :: Typed.TypedTerm Syntax.StarredExpression -> Typed.TypedTerm Syntax.Expression+unStarredExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.StarredExpression")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.Tuple+unTuple :: Typed.TypedTerm Syntax.Tuple -> Typed.TypedTerm [Syntax.StarNamedExpression]+unTuple x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.Tuple")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.TypeComment+unTypeComment :: Typed.TypedTerm Syntax.TypeComment -> Typed.TypedTerm String+unTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.TypeComment")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.ValuePattern+unValuePattern :: Typed.TypedTerm Syntax.ValuePattern -> Typed.TypedTerm Syntax.Attribute+unValuePattern x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.ValuePattern")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body of hydra.python.syntax.YieldStatement+unYieldStatement :: Typed.TypedTerm Syntax.YieldStatement -> Typed.TypedTerm Syntax.YieldExpression+unYieldStatement x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermUnwrap (Model.Name "hydra.python.syntax.YieldStatement")),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL constructor for hydra.python.syntax.UntypedAssignment+untypedAssignment :: Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.UntypedAssignment+untypedAssignment targets rhs typeComment =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Typed.unTypedTerm targets)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm rhs)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm typeComment)}]}))++-- | DSL accessor for the rhs field of hydra.python.syntax.UntypedAssignment+untypedAssignmentRhs :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs+untypedAssignmentRhs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+        Model.projectionFieldName = (Model.Name "rhs")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the targets field of hydra.python.syntax.UntypedAssignment+untypedAssignmentTargets :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm [Syntax.StarTarget]+untypedAssignmentTargets x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+        Model.projectionFieldName = (Model.Name "targets")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.UntypedAssignment+untypedAssignmentTypeComment :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm (Maybe Syntax.TypeComment)+untypedAssignmentTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+        Model.projectionFieldName = (Model.Name "typeComment")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.UntypedAssignment+untypedAssignmentUntypedAssignment :: Typed.TypedName Syntax.UntypedAssignment+untypedAssignmentUntypedAssignment = Typed.TypedName (Model.Name "hydra.python.syntax.UntypedAssignment")++-- | DSL updater for the rhs field of hydra.python.syntax.UntypedAssignment+untypedAssignmentWithRhs :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.UntypedAssignment+untypedAssignmentWithRhs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the targets field of hydra.python.syntax.UntypedAssignment+untypedAssignmentWithTargets :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm [Syntax.StarTarget] -> Typed.TypedTerm Syntax.UntypedAssignment+untypedAssignmentWithTargets original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the typeComment field of hydra.python.syntax.UntypedAssignment+untypedAssignmentWithTypeComment :: Typed.TypedTerm Syntax.UntypedAssignment -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.UntypedAssignment+untypedAssignmentWithTypeComment original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "targets"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+              Model.projectionFieldName = (Model.Name "targets")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "rhs"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.UntypedAssignment"),+              Model.projectionFieldName = (Model.Name "rhs")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for the hydra.python.syntax.ValuePattern wrapper+valuePattern :: Typed.TypedTerm Syntax.Attribute -> Typed.TypedTerm Syntax.ValuePattern+valuePattern x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.ValuePattern"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.ValuePattern+valuePatternValuePattern :: Typed.TypedName Syntax.ValuePattern+valuePatternValuePattern = Typed.TypedName (Model.Name "hydra.python.syntax.ValuePattern")++-- | DSL constructor for hydra.python.syntax.WhileStatement+whileStatement :: Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.WhileStatement+whileStatement condition body else_ =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "condition"),+          Model.fieldTerm = (Typed.unTypedTerm condition)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm else_)}]}))++-- | DSL accessor for the body field of hydra.python.syntax.WhileStatement+whileStatementBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Block+whileStatementBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the condition field of hydra.python.syntax.WhileStatement+whileStatementCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.NamedExpression+whileStatementCondition x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+        Model.projectionFieldName = (Model.Name "condition")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the else field of hydra.python.syntax.WhileStatement+whileStatementElse :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm (Maybe Syntax.Block)+whileStatementElse x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+        Model.projectionFieldName = (Model.Name "else")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.WhileStatement+whileStatementWhileStatement :: Typed.TypedName Syntax.WhileStatement+whileStatementWhileStatement = Typed.TypedName (Model.Name "hydra.python.syntax.WhileStatement")++-- | DSL updater for the body field of hydra.python.syntax.WhileStatement+whileStatementWithBody :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "condition"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+              Model.projectionFieldName = (Model.Name "condition")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the condition field of hydra.python.syntax.WhileStatement+whileStatementWithCondition :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm Syntax.NamedExpression -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithCondition original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "condition"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+              Model.projectionFieldName = (Model.Name "else")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the else field of hydra.python.syntax.WhileStatement+whileStatementWithElse :: Typed.TypedTerm Syntax.WhileStatement -> Typed.TypedTerm (Maybe Syntax.Block) -> Typed.TypedTerm Syntax.WhileStatement+whileStatementWithElse original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "condition"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+              Model.projectionFieldName = (Model.Name "condition")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WhileStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "else"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL constructor for hydra.python.syntax.WithItem+withItem :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.StarTarget) -> Typed.TypedTerm Syntax.WithItem+withItem expression as =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WithItem"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm expression)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm as)}]}))++-- | DSL accessor for the as field of hydra.python.syntax.WithItem+withItemAs :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm (Maybe Syntax.StarTarget)+withItemAs x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithItem"),+        Model.projectionFieldName = (Model.Name "as")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the expression field of hydra.python.syntax.WithItem+withItemExpression :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm Syntax.Expression+withItemExpression x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithItem"),+        Model.projectionFieldName = (Model.Name "expression")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the as field of hydra.python.syntax.WithItem+withItemWithAs :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm (Maybe Syntax.StarTarget) -> Typed.TypedTerm Syntax.WithItem+withItemWithAs original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WithItem"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithItem"),+              Model.projectionFieldName = (Model.Name "expression")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the expression field of hydra.python.syntax.WithItem+withItemWithExpression :: Typed.TypedTerm Syntax.WithItem -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.WithItem+withItemWithExpression original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WithItem"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "expression"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "as"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithItem"),+              Model.projectionFieldName = (Model.Name "as")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.python.syntax.WithItem+withItemWithItem :: Typed.TypedName Syntax.WithItem+withItemWithItem = Typed.TypedName (Model.Name "hydra.python.syntax.WithItem")++-- | DSL constructor for hydra.python.syntax.WithStatement+withStatement :: Typed.TypedTerm Bool -> Typed.TypedTerm [Syntax.WithItem] -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WithStatement+withStatement async items typeComment body =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Typed.unTypedTerm async)},+        Model.Field {+          Model.fieldName = (Model.Name "items"),+          Model.fieldTerm = (Typed.unTypedTerm items)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm typeComment)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm body)}]}))++-- | DSL accessor for the async field of hydra.python.syntax.WithStatement+withStatementAsync :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Bool+withStatementAsync x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+        Model.projectionFieldName = (Model.Name "async")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the body field of hydra.python.syntax.WithStatement+withStatementBody :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.Block+withStatementBody x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+        Model.projectionFieldName = (Model.Name "body")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the items field of hydra.python.syntax.WithStatement+withStatementItems :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm [Syntax.WithItem]+withStatementItems x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+        Model.projectionFieldName = (Model.Name "items")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL accessor for the typeComment field of hydra.python.syntax.WithStatement+withStatementTypeComment :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment)+withStatementTypeComment x =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermProject (Model.Projection {+        Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+        Model.projectionFieldName = (Model.Name "typeComment")})),+      Model.applicationArgument = (Typed.unTypedTerm x)}))++-- | DSL updater for the async field of hydra.python.syntax.WithStatement+withStatementWithAsync :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Bool -> Typed.TypedTerm Syntax.WithStatement+withStatementWithAsync original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "items"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "items")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL updater for the body field of hydra.python.syntax.WithStatement+withStatementWithBody :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm Syntax.Block -> Typed.TypedTerm Syntax.WithStatement+withStatementWithBody original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "items"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "items")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)}]}))++-- | DSL updater for the items field of hydra.python.syntax.WithStatement+withStatementWithItems :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm [Syntax.WithItem] -> Typed.TypedTerm Syntax.WithStatement+withStatementWithItems original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "items"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "typeComment")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL name token for hydra.python.syntax.WithStatement+withStatementWithStatement :: Typed.TypedName Syntax.WithStatement+withStatementWithStatement = Typed.TypedName (Model.Name "hydra.python.syntax.WithStatement")++-- | DSL updater for the typeComment field of hydra.python.syntax.WithStatement+withStatementWithTypeComment :: Typed.TypedTerm Syntax.WithStatement -> Typed.TypedTerm (Maybe Syntax.TypeComment) -> Typed.TypedTerm Syntax.WithStatement+withStatementWithTypeComment original newVal =+    Typed.TypedTerm (Model.TermRecord (Model.Record {+      Model.recordTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+      Model.recordFields = [+        Model.Field {+          Model.fieldName = (Model.Name "async"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "async")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "items"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "items")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))},+        Model.Field {+          Model.fieldName = (Model.Name "typeComment"),+          Model.fieldTerm = (Typed.unTypedTerm newVal)},+        Model.Field {+          Model.fieldName = (Model.Name "body"),+          Model.fieldTerm = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermProject (Model.Projection {+              Model.projectionTypeName = (Model.Name "hydra.python.syntax.WithStatement"),+              Model.projectionFieldName = (Model.Name "body")})),+            Model.applicationArgument = (Typed.unTypedTerm original)}))}]}))++-- | DSL injection for the from variant of hydra.python.syntax.YieldExpression+yieldExpressionFrom :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.YieldExpression+yieldExpressionFrom x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.YieldExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "from"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL injection for the simple variant of hydra.python.syntax.YieldExpression+yieldExpressionSimple :: Typed.TypedTerm [Syntax.StarExpression] -> Typed.TypedTerm Syntax.YieldExpression+yieldExpressionSimple x =+    Typed.TypedTerm (Model.TermInject (Model.Injection {+      Model.injectionTypeName = (Model.Name "hydra.python.syntax.YieldExpression"),+      Model.injectionField = Model.Field {+        Model.fieldName = (Model.Name "simple"),+        Model.fieldTerm = (Typed.unTypedTerm x)}}))++-- | DSL name token for hydra.python.syntax.YieldExpression+yieldExpressionYieldExpression :: Typed.TypedName Syntax.YieldExpression+yieldExpressionYieldExpression = Typed.TypedName (Model.Name "hydra.python.syntax.YieldExpression")++-- | DSL constructor for the hydra.python.syntax.YieldStatement wrapper+yieldStatement :: Typed.TypedTerm Syntax.YieldExpression -> Typed.TypedTerm Syntax.YieldStatement+yieldStatement x =+    Typed.TypedTerm (Model.TermWrap (Model.WrappedTerm {+      Model.wrappedTermTypeName = (Model.Name "hydra.python.syntax.YieldStatement"),+      Model.wrappedTermBody = (Typed.unTypedTerm x)}))++-- | DSL name token for hydra.python.syntax.YieldStatement+yieldStatementYieldStatement :: Typed.TypedName Syntax.YieldStatement+yieldStatementYieldStatement = Typed.TypedName (Model.Name "hydra.python.syntax.YieldStatement")
+ src/main/haskell/Hydra/Python/Dsl/Utils.hs view
@@ -0,0 +1,561 @@+-- Note: this is an automatically generated file. Do not edit.++-- | DSL functions for hydra.python.utils++module Hydra.Python.Dsl.Utils where++import qualified Hydra.Core.Analysis as Analysis+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Parsing as Parsing+import qualified Hydra.Core.Paths as Paths+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Topology as Topology+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Core.Validation as Validation+import qualified Hydra.Core.Variants as Variants+import qualified Hydra.Python.Dsl.Environment as DslEnvironment+import qualified Hydra.Python.Dsl.Names as DslNames+import qualified Hydra.Python.Dsl.Syntax as DslSyntax+import qualified Hydra.Python.Environment as Environment+import qualified Hydra.Python.Names as Names+import qualified Hydra.Python.Serde as Serde+import qualified Hydra.Python.Syntax as Syntax+import qualified Hydra.Python.Utils as Utils+import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void+import qualified Data.Set as S++-- | DSL reference to hydra.python.utils.annotatedExpression+annotatedExpression :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression+annotatedExpression arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.annotatedExpression")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.annotatedStatement+annotatedStatement :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Statement -> Typed.TypedTerm Syntax.Statement+annotatedStatement arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.annotatedStatement")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.assignment+assignment :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.AnnotatedRhs -> Typed.TypedTerm Syntax.Statement+assignment arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.assignment")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.assignmentStatement+assignmentStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+assignmentStatement arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.assignmentStatement")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.castTo+castTo :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Expression+castTo arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.castTo")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.commentStatement+commentStatement :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement+commentStatement arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.commentStatement")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decimalVariantMethods+decimalVariantMethods :: Typed.TypedTerm [Syntax.Statement]+decimalVariantMethods = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.decimalVariantMethods"))++-- | DSL reference to hydra.python.utils.decodePyComparisonToPyAwaitPrimary+decodePyComparisonToPyAwaitPrimary :: Typed.TypedTerm Syntax.Comparison -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyComparisonToPyAwaitPrimary arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyComparisonToPyAwaitPrimary")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decodePyConjunctionToPyPrimary+decodePyConjunctionToPyPrimary :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyConjunctionToPyPrimary arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyConjunctionToPyPrimary")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decodePyExpressionToPyPrimary+decodePyExpressionToPyPrimary :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyExpressionToPyPrimary arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyExpressionToPyPrimary")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decodePyInversionToPyPrimary+decodePyInversionToPyPrimary :: Typed.TypedTerm Syntax.Inversion -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyInversionToPyPrimary arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyInversionToPyPrimary")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.decodePyPowerToPyPrimary+decodePyPowerToPyPrimary :: Typed.TypedTerm Syntax.Power -> Typed.TypedTerm (Maybe Syntax.Primary)+decodePyPowerToPyPrimary arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.decodePyPowerToPyPrimary")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.dottedAssignmentStatement+dottedAssignmentStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+dottedAssignmentStatement arg0 arg1 arg2 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.dottedAssignmentStatement")),+          Model.applicationArgument = (Typed.unTypedTerm arg0)})),+        Model.applicationArgument = (Typed.unTypedTerm arg1)})),+      Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.utils.doubleQuotedString+doubleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression+doubleQuotedString arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.doubleQuotedString")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.findNamespaces+findNamespaces :: Typed.TypedTerm (S.Set String) -> Typed.TypedTerm Packaging.ModuleName -> Typed.TypedTerm [Packaging.Definition] -> Typed.TypedTerm (Util.ModuleNames Syntax.DottedName)+findNamespaces arg0 arg1 arg2 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.findNamespaces")),+          Model.applicationArgument = (Typed.unTypedTerm arg0)})),+        Model.applicationArgument = (Typed.unTypedTerm arg1)})),+      Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.utils.functionCall+functionCall :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression+functionCall arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.functionCall")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.getItemParams+getItemParams :: Typed.TypedTerm Syntax.Parameters+getItemParams = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.getItemParams"))++-- | DSL reference to hydra.python.utils.indentedBlock+indentedBlock :: Typed.TypedTerm (Maybe String) -> Typed.TypedTerm [[Syntax.Statement]] -> Typed.TypedTerm Syntax.Block+indentedBlock arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.indentedBlock")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.nameAndParams+nameAndParams :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression+nameAndParams arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.nameAndParams")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.newtypeStatement+newtypeStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+newtypeStatement arg0 arg1 arg2 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.newtypeStatement")),+          Model.applicationArgument = (Typed.unTypedTerm arg0)})),+        Model.applicationArgument = (Typed.unTypedTerm arg1)})),+      Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.utils.orExpression+orExpression :: Typed.TypedTerm [Syntax.Primary] -> Typed.TypedTerm Syntax.Expression+orExpression arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.orExpression")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.primaryAndParams+primaryAndParams :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Expression+primaryAndParams arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.primaryAndParams")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.primaryWithExpressionSlices+primaryWithExpressionSlices :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Primary+primaryWithExpressionSlices arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.primaryWithExpressionSlices")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.primaryWithRhs+primaryWithRhs :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.PrimaryRhs -> Typed.TypedTerm Syntax.Primary+primaryWithRhs arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.primaryWithRhs")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.primaryWithSlices+primaryWithSlices :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Slice -> Typed.TypedTerm [Syntax.SliceOrStarredExpression] -> Typed.TypedTerm Syntax.Primary+primaryWithSlices arg0 arg1 arg2 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.primaryWithSlices")),+          Model.applicationArgument = (Typed.unTypedTerm arg0)})),+        Model.applicationArgument = (Typed.unTypedTerm arg1)})),+      Model.applicationArgument = (Typed.unTypedTerm arg2)}))++-- | DSL reference to hydra.python.utils.projectFromExpression+projectFromExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression+projectFromExpression arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.projectFromExpression")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.pyAssignmentToPyStatement+pyAssignmentToPyStatement :: Typed.TypedTerm Syntax.Assignment -> Typed.TypedTerm Syntax.Statement+pyAssignmentToPyStatement arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyAssignmentToPyStatement")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyAtomToPyExpression+pyAtomToPyExpression :: Typed.TypedTerm Syntax.Atom -> Typed.TypedTerm Syntax.Expression+pyAtomToPyExpression arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyAtomToPyExpression")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyBitwiseOrToPyConjunction+pyBitwiseOrToPyConjunction :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Conjunction+pyBitwiseOrToPyConjunction arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyBitwiseOrToPyConjunction")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyBitwiseOrToPyExpression+pyBitwiseOrToPyExpression :: Typed.TypedTerm Syntax.BitwiseOr -> Typed.TypedTerm Syntax.Expression+pyBitwiseOrToPyExpression arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyBitwiseOrToPyExpression")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyClassDefinitionToPyStatement+pyClassDefinitionToPyStatement :: Typed.TypedTerm Syntax.ClassDefinition -> Typed.TypedTerm Syntax.Statement+pyClassDefinitionToPyStatement arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyClassDefinitionToPyStatement")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyClosedPatternToPyPatterns+pyClosedPatternToPyPatterns :: Typed.TypedTerm Syntax.ClosedPattern -> Typed.TypedTerm Syntax.Patterns+pyClosedPatternToPyPatterns arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyClosedPatternToPyPatterns")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyConjunctionToPyExpression+pyConjunctionToPyExpression :: Typed.TypedTerm Syntax.Conjunction -> Typed.TypedTerm Syntax.Expression+pyConjunctionToPyExpression arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyConjunctionToPyExpression")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToBitwiseOr+pyExpressionToBitwiseOr :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.BitwiseOr+pyExpressionToBitwiseOr arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToBitwiseOr")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToDisjunction+pyExpressionToDisjunction :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Disjunction+pyExpressionToDisjunction arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToDisjunction")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPyAnnotatedRhs+pyExpressionToPyAnnotatedRhs :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.AnnotatedRhs+pyExpressionToPyAnnotatedRhs arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPyAnnotatedRhs")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPyPrimary+pyExpressionToPyPrimary :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Primary+pyExpressionToPyPrimary arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPyPrimary")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPySimpleStatement+pyExpressionToPySimpleStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.SimpleStatement+pyExpressionToPySimpleStatement arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPySimpleStatement")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPySlice+pyExpressionToPySlice :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Slice+pyExpressionToPySlice arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPySlice")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPyStarNamedExpression+pyExpressionToPyStarNamedExpression :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.StarNamedExpression+pyExpressionToPyStarNamedExpression arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPyStarNamedExpression")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionToPyStatement+pyExpressionToPyStatement :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+pyExpressionToPyStatement arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionToPyStatement")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyExpressionsToPyArgs+pyExpressionsToPyArgs :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.Args+pyExpressionsToPyArgs arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyExpressionsToPyArgs")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyList+pyList :: Typed.TypedTerm [Syntax.Expression] -> Typed.TypedTerm Syntax.List+pyList arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyList")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyExpression+pyNameToPyExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Expression+pyNameToPyExpression arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyExpression")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyNamedExpression+pyNameToPyNamedExpression :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.NamedExpression+pyNameToPyNamedExpression arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyNamedExpression")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyPrimary+pyNameToPyPrimary :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.Primary+pyNameToPyPrimary arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyPrimary")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyStarTarget+pyNameToPyStarTarget :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.StarTarget+pyNameToPyStarTarget arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyStarTarget")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNameToPyTypeParameter+pyNameToPyTypeParameter :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm Syntax.TypeParameter+pyNameToPyTypeParameter arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyNameToPyTypeParameter")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyNone+pyNone :: Typed.TypedTerm Syntax.Name+pyNone = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.pyNone"))++-- | DSL reference to hydra.python.utils.pyPrimaryToPyBitwiseOr+pyPrimaryToPyBitwiseOr :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.BitwiseOr+pyPrimaryToPyBitwiseOr arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPyBitwiseOr")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyPrimaryToPyBitwiseXor+pyPrimaryToPyBitwiseXor :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.BitwiseXor+pyPrimaryToPyBitwiseXor arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPyBitwiseXor")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyPrimaryToPyConjunction+pyPrimaryToPyConjunction :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Conjunction+pyPrimaryToPyConjunction arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPyConjunction")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyPrimaryToPyExpression+pyPrimaryToPyExpression :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Expression+pyPrimaryToPyExpression arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPyExpression")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pyPrimaryToPySlice+pyPrimaryToPySlice :: Typed.TypedTerm Syntax.Primary -> Typed.TypedTerm Syntax.Slice+pyPrimaryToPySlice arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pyPrimaryToPySlice")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.pySimpleStatementToPyStatement+pySimpleStatementToPyStatement :: Typed.TypedTerm Syntax.SimpleStatement -> Typed.TypedTerm Syntax.Statement+pySimpleStatementToPyStatement arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.pySimpleStatementToPyStatement")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.raiseAssertionError+raiseAssertionError :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement+raiseAssertionError arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.raiseAssertionError")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.raiseTypeError+raiseTypeError :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Statement+raiseTypeError arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.raiseTypeError")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.returnSingle+returnSingle :: Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+returnSingle arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.returnSingle")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.selfOnlyParams+selfOnlyParams :: Typed.TypedTerm Syntax.Parameters+selfOnlyParams = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.selfOnlyParams"))++-- | DSL reference to hydra.python.utils.selfOtherParams+selfOtherParams :: Typed.TypedTerm Syntax.Parameters+selfOtherParams = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.selfOtherParams"))++-- | DSL reference to hydra.python.utils.singleQuotedString+singleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression+singleQuotedString arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.singleQuotedString")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.stringToPyExpression+stringToPyExpression :: Typed.TypedTerm Syntax.QuoteStyle -> Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression+stringToPyExpression arg0 arg1 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.stringToPyExpression")),+        Model.applicationArgument = (Typed.unTypedTerm arg0)})),+      Model.applicationArgument = (Typed.unTypedTerm arg1)}))++-- | DSL reference to hydra.python.utils.targetPythonVersion+targetPythonVersion :: Typed.TypedTerm Environment.PythonVersion+targetPythonVersion = Typed.TypedTerm (Model.TermVariable (Model.Name "hydra.python.utils.targetPythonVersion"))++-- | DSL reference to hydra.python.utils.tripleQuotedString+tripleQuotedString :: Typed.TypedTerm String -> Typed.TypedTerm Syntax.Expression+tripleQuotedString arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.tripleQuotedString")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))++-- | DSL reference to hydra.python.utils.typeAliasStatement+typeAliasStatement :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.TypeParameter] -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+typeAliasStatement arg0 arg1 arg2 arg3 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.typeAliasStatement")),+            Model.applicationArgument = (Typed.unTypedTerm arg0)})),+          Model.applicationArgument = (Typed.unTypedTerm arg1)})),+        Model.applicationArgument = (Typed.unTypedTerm arg2)})),+      Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.utils.typeAliasStatement310+typeAliasStatement310 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm t0 -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm Syntax.Statement+typeAliasStatement310 arg0 arg1 arg2 arg3 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.typeAliasStatement310")),+            Model.applicationArgument = (Typed.unTypedTerm arg0)})),+          Model.applicationArgument = (Typed.unTypedTerm arg1)})),+        Model.applicationArgument = (Typed.unTypedTerm arg2)})),+      Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.utils.unionTypeClassStatements310+unionTypeClassStatements310 :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm (Maybe String) -> Typed.TypedTerm Syntax.Expression -> Typed.TypedTerm [Syntax.Statement] -> Typed.TypedTerm [Syntax.Statement]+unionTypeClassStatements310 arg0 arg1 arg2 arg3 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermApplication (Model.Application {+        Model.applicationFunction = (Model.TermApplication (Model.Application {+          Model.applicationFunction = (Model.TermApplication (Model.Application {+            Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.unionTypeClassStatements310")),+            Model.applicationArgument = (Typed.unTypedTerm arg0)})),+          Model.applicationArgument = (Typed.unTypedTerm arg1)})),+        Model.applicationArgument = (Typed.unTypedTerm arg2)})),+      Model.applicationArgument = (Typed.unTypedTerm arg3)}))++-- | DSL reference to hydra.python.utils.unitVariantMethods+unitVariantMethods :: Typed.TypedTerm Syntax.Name -> Typed.TypedTerm [Syntax.Statement]+unitVariantMethods arg0 =+    Typed.TypedTerm (Model.TermApplication (Model.Application {+      Model.applicationFunction = (Model.TermVariable (Model.Name "hydra.python.utils.unitVariantMethods")),+      Model.applicationArgument = (Typed.unTypedTerm arg0)}))
src/main/haskell/Hydra/Python/Environment.hs view
@@ -4,12 +4,12 @@  module Hydra.Python.Environment where -import qualified Hydra.Core as Core-import qualified Hydra.Graph as Graph-import qualified Hydra.Packaging as Packaging+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines) import qualified Data.Scientific as Sci import Data.Void@@ -22,11 +22,11 @@   PythonVersionPython312   deriving (Eq, Ord, Read, Show) -_PythonVersion = Core.Name "hydra.python.environment.PythonVersion"+_PythonVersion = Model.Name "hydra.python.environment.PythonVersion" -_PythonVersion_python310 = Core.Name "python310"+_PythonVersion_python310 = Model.Name "python310" -_PythonVersion_python312 = Core.Name "python312"+_PythonVersion_python312 = Model.Name "python312"  -- | Environment for Python code generation data PythonEnvironment =@@ -34,37 +34,37 @@     -- | ModuleName mapping for imports     pythonEnvironmentNamespaces :: (Util.ModuleNames Syntax.DottedName),     -- | Type variables in scope, with their Python names-    pythonEnvironmentBoundTypeVariables :: ([Core.Name], (M.Map Core.Name Syntax.Name)),+    pythonEnvironmentBoundTypeVariables :: ([Model.Name], (M.Map Model.Name Syntax.Name)),     -- | Graph context for type inference     pythonEnvironmentGraph :: Graph.Graph,     -- | Set of nullary bindings (need call syntax)-    pythonEnvironmentNullaryBindings :: (S.Set Core.Name),+    pythonEnvironmentNullaryBindings :: (S.Set Model.Name),     -- | Target Python version     pythonEnvironmentVersion :: PythonVersion,     -- | When True, skip generating cast() calls for reduced memory usage     pythonEnvironmentSkipCasts :: Bool,     -- | Variables that are inline let bindings (walrus operators)-    pythonEnvironmentInlineVariables :: (S.Set Core.Name),-    -- | hydra.lib.<sub> sub-namespaces that have an overlay implementation on this host (#630) -- the on-disk existence signal driving emission-time redirect of primitive references to hydra.overlay.python.lib.<sub>+    pythonEnvironmentInlineVariables :: (S.Set Model.Name),+    -- | hydra.lib.<sub> sub-namespaces that have an overlay implementation on this host (#630) -- the on-disk existence signal driving emission-time redirect of primitive references to hydra.core.overlay.python.lib.<sub>     pythonEnvironmentOverlaySubs :: (S.Set String)} -_PythonEnvironment = Core.Name "hydra.python.environment.PythonEnvironment"+_PythonEnvironment = Model.Name "hydra.python.environment.PythonEnvironment" -_PythonEnvironment_namespaces = Core.Name "namespaces"+_PythonEnvironment_namespaces = Model.Name "namespaces" -_PythonEnvironment_boundTypeVariables = Core.Name "boundTypeVariables"+_PythonEnvironment_boundTypeVariables = Model.Name "boundTypeVariables" -_PythonEnvironment_graph = Core.Name "graph"+_PythonEnvironment_graph = Model.Name "graph" -_PythonEnvironment_nullaryBindings = Core.Name "nullaryBindings"+_PythonEnvironment_nullaryBindings = Model.Name "nullaryBindings" -_PythonEnvironment_version = Core.Name "version"+_PythonEnvironment_version = Model.Name "version" -_PythonEnvironment_skipCasts = Core.Name "skipCasts"+_PythonEnvironment_skipCasts = Model.Name "skipCasts" -_PythonEnvironment_inlineVariables = Core.Name "inlineVariables"+_PythonEnvironment_inlineVariables = Model.Name "inlineVariables" -_PythonEnvironment_overlaySubs = Core.Name "overlaySubs"+_PythonEnvironment_overlaySubs = Model.Name "overlaySubs"  -- | Temporary metadata used to create the header section of a Python file data PythonModuleMetadata =@@ -72,7 +72,7 @@     -- | ModuleName mapping for imports     pythonModuleMetadataNamespaces :: (Util.ModuleNames Syntax.DottedName),     -- | Type variables used in the module-    pythonModuleMetadataTypeVariables :: (S.Set Core.Name),+    pythonModuleMetadataTypeVariables :: (S.Set Model.Name),     pythonModuleMetadataUsesAnnotated :: Bool,     pythonModuleMetadataUsesCallable :: Bool,     pythonModuleMetadataUsesCast :: Bool,@@ -96,53 +96,53 @@     pythonModuleMetadataUsesTypeVar :: Bool}   deriving (Eq, Ord, Read, Show) -_PythonModuleMetadata = Core.Name "hydra.python.environment.PythonModuleMetadata"+_PythonModuleMetadata = Model.Name "hydra.python.environment.PythonModuleMetadata" -_PythonModuleMetadata_namespaces = Core.Name "namespaces"+_PythonModuleMetadata_namespaces = Model.Name "namespaces" -_PythonModuleMetadata_typeVariables = Core.Name "typeVariables"+_PythonModuleMetadata_typeVariables = Model.Name "typeVariables" -_PythonModuleMetadata_usesAnnotated = Core.Name "usesAnnotated"+_PythonModuleMetadata_usesAnnotated = Model.Name "usesAnnotated" -_PythonModuleMetadata_usesCallable = Core.Name "usesCallable"+_PythonModuleMetadata_usesCallable = Model.Name "usesCallable" -_PythonModuleMetadata_usesCast = Core.Name "usesCast"+_PythonModuleMetadata_usesCast = Model.Name "usesCast" -_PythonModuleMetadata_usesLruCache = Core.Name "usesLruCache"+_PythonModuleMetadata_usesLruCache = Model.Name "usesLruCache" -_PythonModuleMetadata_usesTypeAlias = Core.Name "usesTypeAlias"+_PythonModuleMetadata_usesTypeAlias = Model.Name "usesTypeAlias" -_PythonModuleMetadata_usesDataclass = Core.Name "usesDataclass"+_PythonModuleMetadata_usesDataclass = Model.Name "usesDataclass" -_PythonModuleMetadata_usesDecimal = Core.Name "usesDecimal"+_PythonModuleMetadata_usesDecimal = Model.Name "usesDecimal" -_PythonModuleMetadata_usesEither = Core.Name "usesEither"+_PythonModuleMetadata_usesEither = Model.Name "usesEither" -_PythonModuleMetadata_usesEnum = Core.Name "usesEnum"+_PythonModuleMetadata_usesEnum = Model.Name "usesEnum" -_PythonModuleMetadata_usesFrozenDict = Core.Name "usesFrozenDict"+_PythonModuleMetadata_usesFrozenDict = Model.Name "usesFrozenDict" -_PythonModuleMetadata_usesFrozenList = Core.Name "usesFrozenList"+_PythonModuleMetadata_usesFrozenList = Model.Name "usesFrozenList" -_PythonModuleMetadata_usesFrozenSet = Core.Name "usesFrozenSet"+_PythonModuleMetadata_usesFrozenSet = Model.Name "usesFrozenSet" -_PythonModuleMetadata_usesGeneric = Core.Name "usesGeneric"+_PythonModuleMetadata_usesGeneric = Model.Name "usesGeneric" -_PythonModuleMetadata_usesJust = Core.Name "usesJust"+_PythonModuleMetadata_usesJust = Model.Name "usesJust" -_PythonModuleMetadata_usesLeft = Core.Name "usesLeft"+_PythonModuleMetadata_usesLeft = Model.Name "usesLeft" -_PythonModuleMetadata_usesMaybe = Core.Name "usesMaybe"+_PythonModuleMetadata_usesMaybe = Model.Name "usesMaybe" -_PythonModuleMetadata_usesName = Core.Name "usesName"+_PythonModuleMetadata_usesName = Model.Name "usesName" -_PythonModuleMetadata_usesNode = Core.Name "usesNode"+_PythonModuleMetadata_usesNode = Model.Name "usesNode" -_PythonModuleMetadata_usesNothing = Core.Name "usesNothing"+_PythonModuleMetadata_usesNothing = Model.Name "usesNothing" -_PythonModuleMetadata_usesRight = Core.Name "usesRight"+_PythonModuleMetadata_usesRight = Model.Name "usesRight" -_PythonModuleMetadata_usesTypeVar = Core.Name "usesTypeVar"+_PythonModuleMetadata_usesTypeVar = Model.Name "usesTypeVar"  -- | Combined graph and metadata state for Python code generation data PyGraph =@@ -152,8 +152,8 @@     -- | Accumulated module metadata     pyGraphMetadata :: PythonModuleMetadata} -_PyGraph = Core.Name "hydra.python.environment.PyGraph"+_PyGraph = Model.Name "hydra.python.environment.PyGraph" -_PyGraph_graph = Core.Name "graph"+_PyGraph_graph = Model.Name "graph" -_PyGraph_metadata = Core.Name "metadata"+_PyGraph_metadata = Model.Name "metadata"
src/main/haskell/Hydra/Python/Language.hs view
@@ -4,33 +4,33 @@  module Hydra.Python.Language where -import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.File as File-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Lexical as Lexical-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Sets as Sets-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variants as Variants+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.File as File+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Lexical as Lexical+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Sets as Sets+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Parsing as Parsing+import qualified Hydra.Core.Paths as Paths+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Topology as Topology+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Core.Validation as Validation+import qualified Hydra.Core.Variants as Variants import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines) import qualified Data.Scientific as Sci import Data.Void@@ -72,9 +72,9 @@           Variants.LiteralVariantInteger,           Variants.LiteralVariantString]     floatTypes = Sets.fromList [-      Core.FloatTypeFloat64]+      Model.FloatTypeFloat64]     integerTypes = Sets.fromList [-      Core.IntegerTypeBigint]+      Model.IntegerTypeBigint]     termVariants =         Sets.fromList [           Variants.TermVariantAnnotated,
src/main/haskell/Hydra/Python/Names.hs view
@@ -4,43 +4,43 @@  module Hydra.Python.Names where -import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Maps as Maps-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Pairs as Pairs-import qualified Hydra.Overlay.Haskell.Lib.Sets as Sets-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Maps as Maps+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Pairs as Pairs+import qualified Hydra.Core.Overlay.Haskell.Lib.Sets as Sets+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as Names+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Parsing as Parsing+import qualified Hydra.Core.Paths as Paths+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Topology as Topology+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Core.Validation as Validation+import qualified Hydra.Core.Variants as Variants import qualified Hydra.Python.Environment as Environment import qualified Hydra.Python.Language as Language import qualified Hydra.Python.Serde as Serde import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variants as Variants import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines) import qualified Data.Scientific as Sci import Data.Void@@ -48,24 +48,24 @@ import qualified Data.Set as S  -- | Generate a constant name for a field definition-encodeConstantForFieldName :: t0 -> t1 -> Core.Name -> Syntax.Name+encodeConstantForFieldName :: t0 -> t1 -> Model.Name -> Syntax.Name encodeConstantForFieldName env tname fname =-    Syntax.Name (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionUpperSnake (Strings.join "_" (Strings.splitOn "-" (Core.unName fname))))+    Syntax.Name (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionUpperSnake (Strings.join "_" (Strings.splitOn "-" (Model.unName fname))))  -- | Generate a constant name for a type definition encodeConstantForTypeName :: t0 -> t1 -> Syntax.Name encodeConstantForTypeName env tname = Syntax.Name "TYPE_"  -- | Encode a name as a Python enum value (UPPER_SNAKE case)-encodeEnumValue :: Environment.PythonEnvironment -> Core.Name -> Syntax.Name+encodeEnumValue :: Environment.PythonEnvironment -> Model.Name -> Syntax.Name encodeEnumValue = encodeName False Util.CaseConventionUpperSnake  -- | Encode a name as a Python field name (lower_snake case)-encodeFieldName :: Environment.PythonEnvironment -> Core.Name -> Syntax.Name+encodeFieldName :: Environment.PythonEnvironment -> Model.Name -> Syntax.Name encodeFieldName env fname = encodeName False Util.CaseConventionLowerSnake env fname  -- | Encode a Hydra name as a Python name-encodeName :: Bool -> Util.CaseConvention -> Environment.PythonEnvironment -> Core.Name -> Syntax.Name+encodeName :: Bool -> Util.CaseConvention -> Environment.PythonEnvironment -> Model.Name -> Syntax.Name encodeName isQualified conv env name =        let namespaces = Environment.pythonEnvironmentNamespaces env@@ -80,7 +80,7 @@       in (Logic.ifElse isQualified (Optionals.match (Maps.lookup name boundVars) (Logic.ifElse (Equality.equal mns (Just focusNs)) (Syntax.Name (Logic.ifElse useFutureAnnotations pyLocal (Serde.escapePythonString True pyLocal))) (Optionals.match mns (Syntax.Name pyLocal) (\nsVal -> Syntax.Name (Strings.concat2 (pyNs nsVal) (Strings.concat2 "." pyLocal))))) (\n -> n)) (Syntax.Name pyLocal))  -- | Encode a name as a fully qualified Python name-encodeNameQualified :: Environment.PythonEnvironment -> Core.Name -> Syntax.Name+encodeNameQualified :: Environment.PythonEnvironment -> Model.Name -> Syntax.Name encodeNameQualified env name =        let namespaces = Environment.pythonEnvironmentNamespaces env@@ -98,38 +98,39 @@ encodeNamespace nsVal =     Syntax.DottedName (Lists.map (\part -> Syntax.Name (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake part)) (Strings.splitOn "." (Packaging.unModuleName nsVal))) --- | Convert a ModuleName to its Python dotted import string, routing overlay modules to hydra.overlay.python.*+-- | Convert a ModuleName to its Python dotted import string, routing overlay modules to hydra.core.overlay.python.* encodeNamespaceStringWithOverrides :: S.Set String -> Packaging.ModuleName -> String encodeNamespaceStringWithOverrides overlaySubs nsVal =-    Optionals.match (Logic.ifElse (Logic.and (Logic.and (Equality.equal (Lists.length (Strings.splitOn "." (Packaging.unModuleName nsVal))) 3) (Equality.equal (Lists.take 2 (Strings.splitOn "." (Packaging.unModuleName nsVal))) [+    Optionals.match (Logic.ifElse (Logic.and (Logic.and (Equality.equal (Lists.length (Strings.splitOn "." (Packaging.unModuleName nsVal))) 4) (Equality.equal (Lists.take 3 (Strings.splitOn "." (Packaging.unModuleName nsVal))) [       "hydra",-      "lib"])) (Sets.member (Strings.join "." (Lists.drop 2 (Strings.splitOn "." (Packaging.unModuleName nsVal)))) overlaySubs)) (Just (Strings.concat2 "hydra.overlay.python.lib." (Strings.join "." (Lists.drop 2 (Strings.splitOn "." (Packaging.unModuleName nsVal)))))) Nothing) (Optionals.withDefault (Strings.join "." (Lists.map (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake) (Strings.splitOn "." (Packaging.unModuleName nsVal)))) (Maps.lookup nsVal overlayPythonModuleAliases)) (\redirected -> redirected)+      "core",+      "lib"])) (Sets.member (Strings.join "." (Lists.drop 3 (Strings.splitOn "." (Packaging.unModuleName nsVal)))) overlaySubs)) (Just (Strings.concat2 "hydra.core.overlay.python.lib." (Strings.join "." (Lists.drop 3 (Strings.splitOn "." (Packaging.unModuleName nsVal)))))) Nothing) (Optionals.withDefault (Strings.join "." (Lists.map (Formatting.convertCase Util.CaseConventionCamel Util.CaseConventionLowerSnake) (Strings.splitOn "." (Packaging.unModuleName nsVal)))) (Maps.lookup nsVal overlayPythonModuleAliases)) (\redirected -> redirected) --- | Encode a namespace as a Python dotted name, routing overlay modules to their hydra.overlay.python.* paths+-- | Encode a namespace as a Python dotted name, routing overlay modules to their hydra.core.overlay.python.* paths encodeNamespaceWithOverrides :: S.Set String -> Packaging.ModuleName -> Syntax.DottedName encodeNamespaceWithOverrides overlaySubs nsVal =     Syntax.DottedName (Lists.map (\part -> Syntax.Name part) (Strings.splitOn "." (encodeNamespaceStringWithOverrides overlaySubs nsVal)))  -- | Encode a type variable name (capitalized)-encodeTypeVariable :: Core.Name -> Syntax.Name-encodeTypeVariable name = Syntax.Name (Formatting.capitalize (Core.unName name))+encodeTypeVariable :: Model.Name -> Syntax.Name+encodeTypeVariable name = Syntax.Name (Formatting.capitalize (Model.unName name)) --- | Alias map routing DSL-declared module names to their hydra.overlay.python.* import strings+-- | Alias map routing DSL-declared module names to their hydra.core.overlay.python.* import strings overlayPythonModuleAliases :: M.Map Packaging.ModuleName String overlayPythonModuleAliases =     Maps.fromList [-      (Packaging.ModuleName "hydra.test.testEnv", "hydra.overlay.python.test_env")]+      (Packaging.ModuleName "hydra.core.test.testEnv", "hydra.core.overlay.python.test_env")]  -- | Sanitize a string to be a valid Python name sanitizePythonName :: String -> String sanitizePythonName = Formatting.sanitizeWithUnderscores Language.pythonReservedWords  -- | Reference a term variable as a Python expression-termVariableReference :: Environment.PythonEnvironment -> Core.Name -> Syntax.Expression+termVariableReference :: Environment.PythonEnvironment -> Model.Name -> Syntax.Expression termVariableReference = variableReference Util.CaseConventionLowerSnake False  -- | Reference a type variable as a Python expression-typeVariableReference :: Environment.PythonEnvironment -> Core.Name -> Syntax.Expression+typeVariableReference :: Environment.PythonEnvironment -> Model.Name -> Syntax.Expression typeVariableReference = variableReference Util.CaseConventionPascal False  -- | Whether to use __future__ annotations for forward references@@ -137,7 +138,7 @@ useFutureAnnotations = True  -- | Reference a variable as a Python expression-variableReference :: Util.CaseConvention -> Bool -> Environment.PythonEnvironment -> Core.Name -> Syntax.Expression+variableReference :: Util.CaseConvention -> Bool -> Environment.PythonEnvironment -> Model.Name -> Syntax.Expression variableReference conv quoted env name =        let pyName = encodeName True conv env name@@ -194,6 +195,6 @@             Syntax.comparisonRhs = []})]])) unquoted)  -- | Generate a variant name from type name and field name-variantName :: Bool -> Environment.PythonEnvironment -> Core.Name -> Core.Name -> Syntax.Name+variantName :: Bool -> Environment.PythonEnvironment -> Model.Name -> Model.Name -> Syntax.Name variantName isQualified env tname fname =-    encodeName isQualified Util.CaseConventionPascal env (Core.Name (Strings.concat2 (Core.unName tname) (Formatting.capitalize (Core.unName fname))))+    encodeName isQualified Util.CaseConventionPascal env (Model.Name (Strings.concat2 (Model.unName tname) (Formatting.capitalize (Model.unName fname))))
src/main/haskell/Hydra/Python/Pyproject.hs view
@@ -4,8 +4,8 @@  module Hydra.Python.Pyproject where -import qualified Hydra.Core as Core-import qualified Hydra.Packaging as Packaging+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines) import qualified Data.Scientific as Sci import Data.Void@@ -15,6 +15,6 @@     pyProjectBuildConfigurationDependencies :: [Packaging.PackageDependency]}   deriving (Eq, Ord, Read, Show) -_PyProjectBuildConfiguration = Core.Name "hydra.python.pyproject.PyProjectBuildConfiguration"+_PyProjectBuildConfiguration = Model.Name "hydra.python.pyproject.PyProjectBuildConfiguration" -_PyProjectBuildConfiguration_dependencies = Core.Name "dependencies"+_PyProjectBuildConfiguration_dependencies = Model.Name "dependencies"
src/main/haskell/Hydra/Python/Serde.hs view
@@ -4,41 +4,41 @@  module Hydra.Python.Serde where -import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Constants as Constants-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Literals as Literals-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths-import qualified Hydra.Print.Docs as Docs+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Constants as Constants+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Literals as Literals+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as Names+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Parsing as Parsing+import qualified Hydra.Core.Paths as Paths+import qualified Hydra.Core.Print.Docs as Docs+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Topology as Topology+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Core.Validation as Validation+import qualified Hydra.Core.Variants as Variants import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variants as Variants import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines) import qualified Data.Scientific as Sci import Data.Void@@ -757,7 +757,7 @@         primaryToExpr prim,         (primaryRhsToExpr rhs)]) --- | Render a hydra.packaging.EntityReference as Sphinx/RST link syntax+-- | Render a hydra.core.packaging.EntityReference as Sphinx/RST link syntax pythonDocEntityRef :: Packaging.EntityReference -> String pythonDocEntityRef ref =     case ref of
src/main/haskell/Hydra/Python/Syntax.hs view
@@ -5,2499 +5,2499 @@  module Hydra.Python.Syntax where -import qualified Hydra.Core as Core-import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)-import qualified Data.Scientific as Sci-import Data.Void--data AnnotatedStatement =-  AnnotatedStatement {-    annotatedStatementComment :: String,-    annotatedStatementStatement :: Statement}-  deriving (Eq, Ord, Read, Show)--_AnnotatedStatement = Core.Name "hydra.python.syntax.AnnotatedStatement"--_AnnotatedStatement_comment = Core.Name "comment"--_AnnotatedStatement_statement = Core.Name "statement"--newtype Module =-  Module {-    unModule :: [[Statement]]}-  deriving (Eq, Ord, Read, Show)--_Module = Core.Name "hydra.python.syntax.Module"--data QuoteStyle =-  QuoteStyleSingle |-  QuoteStyleDouble |-  QuoteStyleTripleSingle |-  QuoteStyleTripleDouble-  deriving (Eq, Ord, Read, Show)--_QuoteStyle = Core.Name "hydra.python.syntax.QuoteStyle"--_QuoteStyle_single = Core.Name "single"--_QuoteStyle_double = Core.Name "double"--_QuoteStyle_tripleSingle = Core.Name "tripleSingle"--_QuoteStyle_tripleDouble = Core.Name "tripleDouble"--data StringPrefix =-  StringPrefixRaw |-  StringPrefixBytes |-  StringPrefixRawBytes |-  StringPrefixUnicode-  deriving (Eq, Ord, Read, Show)--_StringPrefix = Core.Name "hydra.python.syntax.StringPrefix"--_StringPrefix_raw = Core.Name "raw"--_StringPrefix_bytes = Core.Name "bytes"--_StringPrefix_rawBytes = Core.Name "rawBytes"--_StringPrefix_unicode = Core.Name "unicode"--newtype Name =-  Name {-    unName :: String}-  deriving (Eq, Ord, Read, Show)--_Name = Core.Name "hydra.python.syntax.Name"--data Number =-  NumberInteger Integer |-  NumberFloat Double |-  NumberImaginary Double-  deriving (Eq, Ord, Read, Show)--_Number = Core.Name "hydra.python.syntax.Number"--_Number_integer = Core.Name "integer"--_Number_float = Core.Name "float"--_Number_imaginary = Core.Name "imaginary"--data String_ =-  String_ {-    stringValue :: String,-    stringPrefix :: (Maybe StringPrefix),-    stringQuoteStyle :: QuoteStyle}-  deriving (Eq, Ord, Read, Show)--_String = Core.Name "hydra.python.syntax.String"--_String_value = Core.Name "value"--_String_prefix = Core.Name "prefix"--_String_quoteStyle = Core.Name "quoteStyle"--newtype TypeComment =-  TypeComment {-    unTypeComment :: String}-  deriving (Eq, Ord, Read, Show)--_TypeComment = Core.Name "hydra.python.syntax.TypeComment"--newtype File =-  File {-    unFile :: [Statement]}-  deriving (Eq, Ord, Read, Show)--_File = Core.Name "hydra.python.syntax.File"--newtype Interactive =-  Interactive {-    unInteractive :: Statement}-  deriving (Eq, Ord, Read, Show)--_Interactive = Core.Name "hydra.python.syntax.Interactive"--newtype Eval =-  Eval {-    unEval :: [Expression]}-  deriving (Eq, Ord, Read, Show)--_Eval = Core.Name "hydra.python.syntax.Eval"--data Statement =-  StatementCompound CompoundStatement |-  StatementSimple [SimpleStatement] |-  StatementAnnotated AnnotatedStatement-  deriving (Eq, Ord, Read, Show)--_Statement = Core.Name "hydra.python.syntax.Statement"--_Statement_compound = Core.Name "compound"--_Statement_simple = Core.Name "simple"--_Statement_annotated = Core.Name "annotated"--data SimpleStatement =-  SimpleStatementAssignment Assignment |-  SimpleStatementTypeAlias TypeAlias |-  SimpleStatementStarExpressions [StarExpression] |-  SimpleStatementReturn ReturnStatement |-  SimpleStatementImport ImportStatement |-  SimpleStatementRaise RaiseStatement |-  SimpleStatementPass |-  SimpleStatementDel DelStatement |-  SimpleStatementYield YieldStatement |-  SimpleStatementAssert AssertStatement |-  SimpleStatementBreak |-  SimpleStatementContinue |-  SimpleStatementGlobal [Name] |-  SimpleStatementNonlocal [Name]-  deriving (Eq, Ord, Read, Show)--_SimpleStatement = Core.Name "hydra.python.syntax.SimpleStatement"--_SimpleStatement_assignment = Core.Name "assignment"--_SimpleStatement_typeAlias = Core.Name "typeAlias"--_SimpleStatement_starExpressions = Core.Name "starExpressions"--_SimpleStatement_return = Core.Name "return"--_SimpleStatement_import = Core.Name "import"--_SimpleStatement_raise = Core.Name "raise"--_SimpleStatement_pass = Core.Name "pass"--_SimpleStatement_del = Core.Name "del"--_SimpleStatement_yield = Core.Name "yield"--_SimpleStatement_assert = Core.Name "assert"--_SimpleStatement_break = Core.Name "break"--_SimpleStatement_continue = Core.Name "continue"--_SimpleStatement_global = Core.Name "global"--_SimpleStatement_nonlocal = Core.Name "nonlocal"--data CompoundStatement =-  CompoundStatementFunction FunctionDefinition |-  CompoundStatementIf IfStatement |-  CompoundStatementClassDef ClassDefinition |-  CompoundStatementWith WithStatement |-  CompoundStatementFor ForStatement |-  CompoundStatementTry TryStatement |-  CompoundStatementWhile WhileStatement |-  CompoundStatementMatch MatchStatement-  deriving (Eq, Ord, Read, Show)--_CompoundStatement = Core.Name "hydra.python.syntax.CompoundStatement"--_CompoundStatement_function = Core.Name "function"--_CompoundStatement_if = Core.Name "if"--_CompoundStatement_classDef = Core.Name "classDef"--_CompoundStatement_with = Core.Name "with"--_CompoundStatement_for = Core.Name "for"--_CompoundStatement_try = Core.Name "try"--_CompoundStatement_while = Core.Name "while"--_CompoundStatement_match = Core.Name "match"--data Assignment =-  AssignmentTyped TypedAssignment |-  AssignmentUntyped UntypedAssignment |-  AssignmentAug AugAssignment-  deriving (Eq, Ord, Read, Show)--_Assignment = Core.Name "hydra.python.syntax.Assignment"--_Assignment_typed = Core.Name "typed"--_Assignment_untyped = Core.Name "untyped"--_Assignment_aug = Core.Name "aug"--data TypedAssignment =-  TypedAssignment {-    typedAssignmentLhs :: SingleTarget,-    typedAssignmentType :: Expression,-    typedAssignmentRhs :: (Maybe AnnotatedRhs)}-  deriving (Eq, Ord, Read, Show)--_TypedAssignment = Core.Name "hydra.python.syntax.TypedAssignment"--_TypedAssignment_lhs = Core.Name "lhs"--_TypedAssignment_type = Core.Name "type"--_TypedAssignment_rhs = Core.Name "rhs"--data UntypedAssignment =-  UntypedAssignment {-    untypedAssignmentTargets :: [StarTarget],-    untypedAssignmentRhs :: AnnotatedRhs,-    untypedAssignmentTypeComment :: (Maybe TypeComment)}-  deriving (Eq, Ord, Read, Show)--_UntypedAssignment = Core.Name "hydra.python.syntax.UntypedAssignment"--_UntypedAssignment_targets = Core.Name "targets"--_UntypedAssignment_rhs = Core.Name "rhs"--_UntypedAssignment_typeComment = Core.Name "typeComment"--data AugAssignment =-  AugAssignment {-    augAssignmentLhs :: SingleTarget,-    augAssignmentAugassign :: AugAssign,-    augAssignmentRhs :: AnnotatedRhs}-  deriving (Eq, Ord, Read, Show)--_AugAssignment = Core.Name "hydra.python.syntax.AugAssignment"--_AugAssignment_lhs = Core.Name "lhs"--_AugAssignment_augassign = Core.Name "augassign"--_AugAssignment_rhs = Core.Name "rhs"--data AnnotatedRhs =-  AnnotatedRhsYield YieldExpression |-  AnnotatedRhsStar [StarExpression]-  deriving (Eq, Ord, Read, Show)--_AnnotatedRhs = Core.Name "hydra.python.syntax.AnnotatedRhs"--_AnnotatedRhs_yield = Core.Name "yield"--_AnnotatedRhs_star = Core.Name "star"--data AugAssign =-  AugAssignPlusEqual |-  AugAssignMinusEqual |-  AugAssignTimesEqual |-  AugAssignAtEqual |-  AugAssignSlashEqual |-  AugAssignPercentEqual |-  AugAssignAmpersandEqual |-  AugAssignBarEqual |-  AugAssignCaretEqual |-  AugAssignLeftShiftEqual |-  AugAssignRightShiftEqual |-  AugAssignStarStarEqual |-  AugAssignDoubleSlashEqual-  deriving (Eq, Ord, Read, Show)--_AugAssign = Core.Name "hydra.python.syntax.AugAssign"--_AugAssign_plusEqual = Core.Name "plusEqual"--_AugAssign_minusEqual = Core.Name "minusEqual"--_AugAssign_timesEqual = Core.Name "timesEqual"--_AugAssign_atEqual = Core.Name "atEqual"--_AugAssign_slashEqual = Core.Name "slashEqual"--_AugAssign_percentEqual = Core.Name "percentEqual"--_AugAssign_ampersandEqual = Core.Name "ampersandEqual"--_AugAssign_barEqual = Core.Name "barEqual"--_AugAssign_caretEqual = Core.Name "caretEqual"--_AugAssign_leftShiftEqual = Core.Name "leftShiftEqual"--_AugAssign_rightShiftEqual = Core.Name "rightShiftEqual"--_AugAssign_starStarEqual = Core.Name "starStarEqual"--_AugAssign_doubleSlashEqual = Core.Name "doubleSlashEqual"--newtype ReturnStatement =-  ReturnStatement {-    unReturnStatement :: [StarExpression]}-  deriving (Eq, Ord, Read, Show)--_ReturnStatement = Core.Name "hydra.python.syntax.ReturnStatement"--newtype RaiseStatement =-  RaiseStatement {-    unRaiseStatement :: (Maybe RaiseExpression)}-  deriving (Eq, Ord, Read, Show)--_RaiseStatement = Core.Name "hydra.python.syntax.RaiseStatement"--data RaiseExpression =-  RaiseExpression {-    raiseExpressionExpression :: Expression,-    raiseExpressionFrom :: (Maybe Expression)}-  deriving (Eq, Ord, Read, Show)--_RaiseExpression = Core.Name "hydra.python.syntax.RaiseExpression"--_RaiseExpression_expression = Core.Name "expression"--_RaiseExpression_from = Core.Name "from"--newtype DelStatement =-  DelStatement {-    unDelStatement :: DelTargets}-  deriving (Eq, Ord, Read, Show)--_DelStatement = Core.Name "hydra.python.syntax.DelStatement"--newtype YieldStatement =-  YieldStatement {-    unYieldStatement :: YieldExpression}-  deriving (Eq, Ord, Read, Show)--_YieldStatement = Core.Name "hydra.python.syntax.YieldStatement"--data AssertStatement =-  AssertStatement {-    assertStatementExpression1 :: Expression,-    assertStatementExpression2 :: (Maybe Expression)}-  deriving (Eq, Ord, Read, Show)--_AssertStatement = Core.Name "hydra.python.syntax.AssertStatement"--_AssertStatement_expression1 = Core.Name "expression1"--_AssertStatement_expression2 = Core.Name "expression2"--data ImportStatement =-  ImportStatementName ImportName |-  ImportStatementFrom ImportFrom-  deriving (Eq, Ord, Read, Show)--_ImportStatement = Core.Name "hydra.python.syntax.ImportStatement"--_ImportStatement_name = Core.Name "name"--_ImportStatement_from = Core.Name "from"--newtype ImportName =-  ImportName {-    unImportName :: [DottedAsName]}-  deriving (Eq, Ord, Read, Show)--_ImportName = Core.Name "hydra.python.syntax.ImportName"--data ImportFrom =-  ImportFrom {-    importFromPrefixes :: [RelativeImportPrefix],-    importFromDottedName :: (Maybe DottedName),-    importFromTargets :: ImportFromTargets}-  deriving (Eq, Ord, Read, Show)--_ImportFrom = Core.Name "hydra.python.syntax.ImportFrom"--_ImportFrom_prefixes = Core.Name "prefixes"--_ImportFrom_dottedName = Core.Name "dottedName"--_ImportFrom_targets = Core.Name "targets"--data RelativeImportPrefix =-  RelativeImportPrefixDot |-  RelativeImportPrefixEllipsis-  deriving (Eq, Ord, Read, Show)--_RelativeImportPrefix = Core.Name "hydra.python.syntax.RelativeImportPrefix"--_RelativeImportPrefix_dot = Core.Name "dot"--_RelativeImportPrefix_ellipsis = Core.Name "ellipsis"--data ImportFromTargets =-  ImportFromTargetsSimple [ImportFromAsName] |-  ImportFromTargetsParens [ImportFromAsName] |-  ImportFromTargetsStar-  deriving (Eq, Ord, Read, Show)--_ImportFromTargets = Core.Name "hydra.python.syntax.ImportFromTargets"--_ImportFromTargets_simple = Core.Name "simple"--_ImportFromTargets_parens = Core.Name "parens"--_ImportFromTargets_star = Core.Name "star"--data ImportFromAsName =-  ImportFromAsName {-    importFromAsNameName :: Name,-    importFromAsNameAs :: (Maybe Name)}-  deriving (Eq, Ord, Read, Show)--_ImportFromAsName = Core.Name "hydra.python.syntax.ImportFromAsName"--_ImportFromAsName_name = Core.Name "name"--_ImportFromAsName_as = Core.Name "as"--data DottedAsName =-  DottedAsName {-    dottedAsNameName :: DottedName,-    dottedAsNameAs :: (Maybe Name)}-  deriving (Eq, Ord, Read, Show)--_DottedAsName = Core.Name "hydra.python.syntax.DottedAsName"--_DottedAsName_name = Core.Name "name"--_DottedAsName_as = Core.Name "as"--newtype DottedName =-  DottedName {-    unDottedName :: [Name]}-  deriving (Eq, Ord, Read, Show)--_DottedName = Core.Name "hydra.python.syntax.DottedName"--data Block =-  BlockIndented [[Statement]] |-  BlockSimple [SimpleStatement]-  deriving (Eq, Ord, Read, Show)--_Block = Core.Name "hydra.python.syntax.Block"--_Block_indented = Core.Name "indented"--_Block_simple = Core.Name "simple"--newtype Decorators =-  Decorators {-    unDecorators :: [NamedExpression]}-  deriving (Eq, Ord, Read, Show)--_Decorators = Core.Name "hydra.python.syntax.Decorators"--data ClassDefinition =-  ClassDefinition {-    classDefinitionDecorators :: (Maybe Decorators),-    classDefinitionName :: Name,-    classDefinitionTypeParams :: [TypeParameter],-    classDefinitionArguments :: (Maybe Args),-    classDefinitionBody :: Block}-  deriving (Eq, Ord, Read, Show)--_ClassDefinition = Core.Name "hydra.python.syntax.ClassDefinition"--_ClassDefinition_decorators = Core.Name "decorators"--_ClassDefinition_name = Core.Name "name"--_ClassDefinition_typeParams = Core.Name "typeParams"--_ClassDefinition_arguments = Core.Name "arguments"--_ClassDefinition_body = Core.Name "body"--data FunctionDefinition =-  FunctionDefinition {-    functionDefinitionDecorators :: (Maybe Decorators),-    functionDefinitionRaw :: FunctionDefRaw}-  deriving (Eq, Ord, Read, Show)--_FunctionDefinition = Core.Name "hydra.python.syntax.FunctionDefinition"--_FunctionDefinition_decorators = Core.Name "decorators"--_FunctionDefinition_raw = Core.Name "raw"--data FunctionDefRaw =-  FunctionDefRaw {-    functionDefRawAsync :: Bool,-    functionDefRawName :: Name,-    functionDefRawTypeParams :: [TypeParameter],-    functionDefRawParams :: (Maybe Parameters),-    functionDefRawReturnType :: (Maybe Expression),-    functionDefRawFuncTypeComment :: (Maybe FuncTypeComment),-    functionDefRawBlock :: Block}-  deriving (Eq, Ord, Read, Show)--_FunctionDefRaw = Core.Name "hydra.python.syntax.FunctionDefRaw"--_FunctionDefRaw_async = Core.Name "async"--_FunctionDefRaw_name = Core.Name "name"--_FunctionDefRaw_typeParams = Core.Name "typeParams"--_FunctionDefRaw_params = Core.Name "params"--_FunctionDefRaw_returnType = Core.Name "returnType"--_FunctionDefRaw_funcTypeComment = Core.Name "funcTypeComment"--_FunctionDefRaw_block = Core.Name "block"--data Parameters =-  ParametersSlashNoDefault SlashNoDefaultParameters |-  ParametersSlashWithDefault SlashWithDefaultParameters |-  ParametersParamNoDefault ParamNoDefaultParameters |-  ParametersParamWithDefault ParamWithDefaultParameters |-  ParametersStarEtc StarEtc-  deriving (Eq, Ord, Read, Show)--_Parameters = Core.Name "hydra.python.syntax.Parameters"--_Parameters_slashNoDefault = Core.Name "slashNoDefault"--_Parameters_slashWithDefault = Core.Name "slashWithDefault"--_Parameters_paramNoDefault = Core.Name "paramNoDefault"--_Parameters_paramWithDefault = Core.Name "paramWithDefault"--_Parameters_starEtc = Core.Name "starEtc"--data SlashNoDefaultParameters =-  SlashNoDefaultParameters {-    slashNoDefaultParametersSlash :: SlashNoDefault,-    slashNoDefaultParametersParamNoDefault :: [ParamNoDefault],-    slashNoDefaultParametersParamWithDefault :: [ParamWithDefault],-    slashNoDefaultParametersStarEtc :: (Maybe StarEtc)}-  deriving (Eq, Ord, Read, Show)--_SlashNoDefaultParameters = Core.Name "hydra.python.syntax.SlashNoDefaultParameters"--_SlashNoDefaultParameters_slash = Core.Name "slash"--_SlashNoDefaultParameters_paramNoDefault = Core.Name "paramNoDefault"--_SlashNoDefaultParameters_paramWithDefault = Core.Name "paramWithDefault"--_SlashNoDefaultParameters_starEtc = Core.Name "starEtc"--data SlashWithDefaultParameters =-  SlashWithDefaultParameters {-    slashWithDefaultParametersParamNoDefault :: [ParamNoDefault],-    slashWithDefaultParametersParamWithDefault :: [ParamWithDefault],-    slashWithDefaultParametersStarEtc :: (Maybe StarEtc)}-  deriving (Eq, Ord, Read, Show)--_SlashWithDefaultParameters = Core.Name "hydra.python.syntax.SlashWithDefaultParameters"--_SlashWithDefaultParameters_paramNoDefault = Core.Name "paramNoDefault"--_SlashWithDefaultParameters_paramWithDefault = Core.Name "paramWithDefault"--_SlashWithDefaultParameters_starEtc = Core.Name "starEtc"--data ParamNoDefaultParameters =-  ParamNoDefaultParameters {-    paramNoDefaultParametersParamNoDefault :: [ParamNoDefault],-    paramNoDefaultParametersParamWithDefault :: [ParamWithDefault],-    paramNoDefaultParametersStarEtc :: (Maybe StarEtc)}-  deriving (Eq, Ord, Read, Show)--_ParamNoDefaultParameters = Core.Name "hydra.python.syntax.ParamNoDefaultParameters"--_ParamNoDefaultParameters_paramNoDefault = Core.Name "paramNoDefault"--_ParamNoDefaultParameters_paramWithDefault = Core.Name "paramWithDefault"--_ParamNoDefaultParameters_starEtc = Core.Name "starEtc"--data ParamWithDefaultParameters =-  ParamWithDefaultParameters {-    paramWithDefaultParametersParamWithDefault :: [ParamWithDefault],-    paramWithDefaultParametersStarEtc :: (Maybe StarEtc)}-  deriving (Eq, Ord, Read, Show)--_ParamWithDefaultParameters = Core.Name "hydra.python.syntax.ParamWithDefaultParameters"--_ParamWithDefaultParameters_paramWithDefault = Core.Name "paramWithDefault"--_ParamWithDefaultParameters_starEtc = Core.Name "starEtc"--newtype SlashNoDefault =-  SlashNoDefault {-    unSlashNoDefault :: [ParamNoDefault]}-  deriving (Eq, Ord, Read, Show)--_SlashNoDefault = Core.Name "hydra.python.syntax.SlashNoDefault"--data SlashWithDefault =-  SlashWithDefault {-    slashWithDefaultParamNoDefault :: [ParamNoDefault],-    slashWithDefaultParamWithDefault :: [ParamWithDefault]}-  deriving (Eq, Ord, Read, Show)--_SlashWithDefault = Core.Name "hydra.python.syntax.SlashWithDefault"--_SlashWithDefault_paramNoDefault = Core.Name "paramNoDefault"--_SlashWithDefault_paramWithDefault = Core.Name "paramWithDefault"--data StarEtc =-  StarEtcStarNoDefault NoDefaultStarEtc |-  StarEtcStarNoDefaultStarAnnotation NoDefaultStarAnnotationStarEtc |-  StarEtcStarComma CommaStarEtc |-  StarEtcKeywords Keywords-  deriving (Eq, Ord, Read, Show)--_StarEtc = Core.Name "hydra.python.syntax.StarEtc"--_StarEtc_starNoDefault = Core.Name "starNoDefault"--_StarEtc_starNoDefaultStarAnnotation = Core.Name "starNoDefaultStarAnnotation"--_StarEtc_starComma = Core.Name "starComma"--_StarEtc_keywords = Core.Name "keywords"--data NoDefaultStarEtc =-  NoDefaultStarEtc {-    noDefaultStarEtcParamNoDefault :: ParamNoDefault,-    noDefaultStarEtcParamMaybeDefault :: [ParamMaybeDefault],-    noDefaultStarEtcKeywords :: (Maybe Keywords)}-  deriving (Eq, Ord, Read, Show)--_NoDefaultStarEtc = Core.Name "hydra.python.syntax.NoDefaultStarEtc"--_NoDefaultStarEtc_paramNoDefault = Core.Name "paramNoDefault"--_NoDefaultStarEtc_paramMaybeDefault = Core.Name "paramMaybeDefault"--_NoDefaultStarEtc_keywords = Core.Name "keywords"--data NoDefaultStarAnnotationStarEtc =-  NoDefaultStarAnnotationStarEtc {-    noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: ParamNoDefaultStarAnnotation,-    noDefaultStarAnnotationStarEtcParamMaybeDefault :: [ParamMaybeDefault],-    noDefaultStarAnnotationStarEtcKeywords :: (Maybe Keywords)}-  deriving (Eq, Ord, Read, Show)--_NoDefaultStarAnnotationStarEtc = Core.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"--_NoDefaultStarAnnotationStarEtc_paramNoDefaultStarAnnotation = Core.Name "paramNoDefaultStarAnnotation"--_NoDefaultStarAnnotationStarEtc_paramMaybeDefault = Core.Name "paramMaybeDefault"--_NoDefaultStarAnnotationStarEtc_keywords = Core.Name "keywords"--data CommaStarEtc =-  CommaStarEtc {-    commaStarEtcParamMaybeDefault :: [ParamMaybeDefault],-    commaStarEtcKeywords :: (Maybe Keywords)}-  deriving (Eq, Ord, Read, Show)--_CommaStarEtc = Core.Name "hydra.python.syntax.CommaStarEtc"--_CommaStarEtc_paramMaybeDefault = Core.Name "paramMaybeDefault"--_CommaStarEtc_keywords = Core.Name "keywords"--newtype Keywords =-  Keywords {-    unKeywords :: ParamNoDefault}-  deriving (Eq, Ord, Read, Show)--_Keywords = Core.Name "hydra.python.syntax.Keywords"--data ParamNoDefault =-  ParamNoDefault {-    paramNoDefaultParam :: Param,-    paramNoDefaultTypeComment :: (Maybe TypeComment)}-  deriving (Eq, Ord, Read, Show)--_ParamNoDefault = Core.Name "hydra.python.syntax.ParamNoDefault"--_ParamNoDefault_param = Core.Name "param"--_ParamNoDefault_typeComment = Core.Name "typeComment"--data ParamNoDefaultStarAnnotation =-  ParamNoDefaultStarAnnotation {-    paramNoDefaultStarAnnotationParamStarAnnotation :: ParamStarAnnotation,-    paramNoDefaultStarAnnotationTypeComment :: (Maybe TypeComment)}-  deriving (Eq, Ord, Read, Show)--_ParamNoDefaultStarAnnotation = Core.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"--_ParamNoDefaultStarAnnotation_paramStarAnnotation = Core.Name "paramStarAnnotation"--_ParamNoDefaultStarAnnotation_typeComment = Core.Name "typeComment"--data ParamWithDefault =-  ParamWithDefault {-    paramWithDefaultParam :: Param,-    paramWithDefaultDefault :: Default,-    paramWithDefaultTypeComment :: (Maybe TypeComment)}-  deriving (Eq, Ord, Read, Show)--_ParamWithDefault = Core.Name "hydra.python.syntax.ParamWithDefault"--_ParamWithDefault_param = Core.Name "param"--_ParamWithDefault_default = Core.Name "default"--_ParamWithDefault_typeComment = Core.Name "typeComment"--data ParamMaybeDefault =-  ParamMaybeDefault {-    paramMaybeDefaultParam :: Param,-    paramMaybeDefaultDefault :: (Maybe Default),-    paramMaybeDefaultTypeComment :: (Maybe TypeComment)}-  deriving (Eq, Ord, Read, Show)--_ParamMaybeDefault = Core.Name "hydra.python.syntax.ParamMaybeDefault"--_ParamMaybeDefault_param = Core.Name "param"--_ParamMaybeDefault_default = Core.Name "default"--_ParamMaybeDefault_typeComment = Core.Name "typeComment"--data Param =-  Param {-    paramName :: Name,-    paramAnnotation :: (Maybe Annotation)}-  deriving (Eq, Ord, Read, Show)--_Param = Core.Name "hydra.python.syntax.Param"--_Param_name = Core.Name "name"--_Param_annotation = Core.Name "annotation"--data ParamStarAnnotation =-  ParamStarAnnotation {-    paramStarAnnotationName :: Name,-    paramStarAnnotationAnnotation :: StarAnnotation}-  deriving (Eq, Ord, Read, Show)--_ParamStarAnnotation = Core.Name "hydra.python.syntax.ParamStarAnnotation"--_ParamStarAnnotation_name = Core.Name "name"--_ParamStarAnnotation_annotation = Core.Name "annotation"--newtype Annotation =-  Annotation {-    unAnnotation :: Expression}-  deriving (Eq, Ord, Read, Show)--_Annotation = Core.Name "hydra.python.syntax.Annotation"--newtype StarAnnotation =-  StarAnnotation {-    unStarAnnotation :: StarExpression}-  deriving (Eq, Ord, Read, Show)--_StarAnnotation = Core.Name "hydra.python.syntax.StarAnnotation"--newtype Default =-  Default {-    unDefault :: Expression}-  deriving (Eq, Ord, Read, Show)--_Default = Core.Name "hydra.python.syntax.Default"--data IfStatement =-  IfStatement {-    ifStatementCondition :: NamedExpression,-    ifStatementBody :: Block,-    ifStatementContinuation :: (Maybe IfTail)}-  deriving (Eq, Ord, Read, Show)--_IfStatement = Core.Name "hydra.python.syntax.IfStatement"--_IfStatement_condition = Core.Name "condition"--_IfStatement_body = Core.Name "body"--_IfStatement_continuation = Core.Name "continuation"--data IfTail =-  IfTailElif IfStatement |-  IfTailElse Block-  deriving (Eq, Ord, Read, Show)--_IfTail = Core.Name "hydra.python.syntax.IfTail"--_IfTail_elif = Core.Name "elif"--_IfTail_else = Core.Name "else"--data WhileStatement =-  WhileStatement {-    whileStatementCondition :: NamedExpression,-    whileStatementBody :: Block,-    whileStatementElse :: (Maybe Block)}-  deriving (Eq, Ord, Read, Show)--_WhileStatement = Core.Name "hydra.python.syntax.WhileStatement"--_WhileStatement_condition = Core.Name "condition"--_WhileStatement_body = Core.Name "body"--_WhileStatement_else = Core.Name "else"--data ForStatement =-  ForStatement {-    forStatementAsync :: Bool,-    forStatementTargets :: [StarTarget],-    forStatementExpressions :: [StarExpression],-    forStatementTypeComment :: (Maybe TypeComment),-    forStatementBody :: Block,-    forStatementElse :: (Maybe Block)}-  deriving (Eq, Ord, Read, Show)--_ForStatement = Core.Name "hydra.python.syntax.ForStatement"--_ForStatement_async = Core.Name "async"--_ForStatement_targets = Core.Name "targets"--_ForStatement_expressions = Core.Name "expressions"--_ForStatement_typeComment = Core.Name "typeComment"--_ForStatement_body = Core.Name "body"--_ForStatement_else = Core.Name "else"--data WithStatement =-  WithStatement {-    withStatementAsync :: Bool,-    withStatementItems :: [WithItem],-    withStatementTypeComment :: (Maybe TypeComment),-    withStatementBody :: Block}-  deriving (Eq, Ord, Read, Show)--_WithStatement = Core.Name "hydra.python.syntax.WithStatement"--_WithStatement_async = Core.Name "async"--_WithStatement_items = Core.Name "items"--_WithStatement_typeComment = Core.Name "typeComment"--_WithStatement_body = Core.Name "body"--data WithItem =-  WithItem {-    withItemExpression :: Expression,-    withItemAs :: (Maybe StarTarget)}-  deriving (Eq, Ord, Read, Show)--_WithItem = Core.Name "hydra.python.syntax.WithItem"--_WithItem_expression = Core.Name "expression"--_WithItem_as = Core.Name "as"--data TryStatement =-  TryStatementFinally TryFinallyStatement |-  TryStatementExcept TryExceptStatement |-  TryStatementExceptStar TryExceptStarStatement-  deriving (Eq, Ord, Read, Show)--_TryStatement = Core.Name "hydra.python.syntax.TryStatement"--_TryStatement_finally = Core.Name "finally"--_TryStatement_except = Core.Name "except"--_TryStatement_exceptStar = Core.Name "exceptStar"--data TryFinallyStatement =-  TryFinallyStatement {-    tryFinallyStatementBody :: Block,-    tryFinallyStatementFinally :: Block}-  deriving (Eq, Ord, Read, Show)--_TryFinallyStatement = Core.Name "hydra.python.syntax.TryFinallyStatement"--_TryFinallyStatement_body = Core.Name "body"--_TryFinallyStatement_finally = Core.Name "finally"--data TryExceptStatement =-  TryExceptStatement {-    tryExceptStatementBody :: Block,-    tryExceptStatementExcepts :: [ExceptBlock],-    tryExceptStatementElse :: (Maybe Block),-    tryExceptStatementFinally :: (Maybe Block)}-  deriving (Eq, Ord, Read, Show)--_TryExceptStatement = Core.Name "hydra.python.syntax.TryExceptStatement"--_TryExceptStatement_body = Core.Name "body"--_TryExceptStatement_excepts = Core.Name "excepts"--_TryExceptStatement_else = Core.Name "else"--_TryExceptStatement_finally = Core.Name "finally"--data TryExceptStarStatement =-  TryExceptStarStatement {-    tryExceptStarStatementBody :: Block,-    tryExceptStarStatementExcepts :: [ExceptStarBlock],-    tryExceptStarStatementElse :: (Maybe Block),-    tryExceptStarStatementFinally :: (Maybe Block)}-  deriving (Eq, Ord, Read, Show)--_TryExceptStarStatement = Core.Name "hydra.python.syntax.TryExceptStarStatement"--_TryExceptStarStatement_body = Core.Name "body"--_TryExceptStarStatement_excepts = Core.Name "excepts"--_TryExceptStarStatement_else = Core.Name "else"--_TryExceptStarStatement_finally = Core.Name "finally"--data ExceptBlock =-  ExceptBlock {-    exceptBlockExpression :: (Maybe ExceptExpression),-    exceptBlockBody :: Block}-  deriving (Eq, Ord, Read, Show)--_ExceptBlock = Core.Name "hydra.python.syntax.ExceptBlock"--_ExceptBlock_expression = Core.Name "expression"--_ExceptBlock_body = Core.Name "body"--data ExceptExpression =-  ExceptExpression {-    exceptExpressionExpression :: Expression,-    exceptExpressionAs :: (Maybe Name)}-  deriving (Eq, Ord, Read, Show)--_ExceptExpression = Core.Name "hydra.python.syntax.ExceptExpression"--_ExceptExpression_expression = Core.Name "expression"--_ExceptExpression_as = Core.Name "as"--data ExceptStarBlock =-  ExceptStarBlock {-    exceptStarBlockExpression :: Expression,-    exceptStarBlockAs :: (Maybe Name),-    exceptStarBlockBody :: Block}-  deriving (Eq, Ord, Read, Show)--_ExceptStarBlock = Core.Name "hydra.python.syntax.ExceptStarBlock"--_ExceptStarBlock_expression = Core.Name "expression"--_ExceptStarBlock_as = Core.Name "as"--_ExceptStarBlock_body = Core.Name "body"--data MatchStatement =-  MatchStatement {-    matchStatementSubject :: SubjectExpression,-    matchStatementCases :: [CaseBlock]}-  deriving (Eq, Ord, Read, Show)--_MatchStatement = Core.Name "hydra.python.syntax.MatchStatement"--_MatchStatement_subject = Core.Name "subject"--_MatchStatement_cases = Core.Name "cases"--data SubjectExpression =-  SubjectExpressionTuple [StarNamedExpression] |-  SubjectExpressionSimple NamedExpression-  deriving (Eq, Ord, Read, Show)--_SubjectExpression = Core.Name "hydra.python.syntax.SubjectExpression"--_SubjectExpression_tuple = Core.Name "tuple"--_SubjectExpression_simple = Core.Name "simple"--data CaseBlock =-  CaseBlock {-    caseBlockPatterns :: Patterns,-    caseBlockGuard :: (Maybe Guard),-    caseBlockBody :: Block}-  deriving (Eq, Ord, Read, Show)--_CaseBlock = Core.Name "hydra.python.syntax.CaseBlock"--_CaseBlock_patterns = Core.Name "patterns"--_CaseBlock_guard = Core.Name "guard"--_CaseBlock_body = Core.Name "body"--newtype Guard =-  Guard {-    unGuard :: NamedExpression}-  deriving (Eq, Ord, Read, Show)--_Guard = Core.Name "hydra.python.syntax.Guard"--data Patterns =-  PatternsSequence OpenSequencePattern |-  PatternsPattern Pattern-  deriving (Eq, Ord, Read, Show)--_Patterns = Core.Name "hydra.python.syntax.Patterns"--_Patterns_sequence = Core.Name "sequence"--_Patterns_pattern = Core.Name "pattern"--data Pattern =-  PatternAs AsPattern |-  PatternOr OrPattern-  deriving (Eq, Ord, Read, Show)--_Pattern = Core.Name "hydra.python.syntax.Pattern"--_Pattern_as = Core.Name "as"--_Pattern_or = Core.Name "or"--data AsPattern =-  AsPattern {-    asPatternPattern :: OrPattern,-    asPatternAs :: PatternCaptureTarget}-  deriving (Eq, Ord, Read, Show)--_AsPattern = Core.Name "hydra.python.syntax.AsPattern"--_AsPattern_pattern = Core.Name "pattern"--_AsPattern_as = Core.Name "as"--newtype OrPattern =-  OrPattern {-    unOrPattern :: [ClosedPattern]}-  deriving (Eq, Ord, Read, Show)--_OrPattern = Core.Name "hydra.python.syntax.OrPattern"--data ClosedPattern =-  ClosedPatternLiteral LiteralExpression |-  ClosedPatternCapture CapturePattern |-  ClosedPatternWildcard |-  ClosedPatternValue ValuePattern |-  ClosedPatternGroup GroupPattern |-  ClosedPatternSequence SequencePattern |-  ClosedPatternMapping MappingPattern |-  ClosedPatternClass ClassPattern-  deriving (Eq, Ord, Read, Show)--_ClosedPattern = Core.Name "hydra.python.syntax.ClosedPattern"--_ClosedPattern_literal = Core.Name "literal"--_ClosedPattern_capture = Core.Name "capture"--_ClosedPattern_wildcard = Core.Name "wildcard"--_ClosedPattern_value = Core.Name "value"--_ClosedPattern_group = Core.Name "group"--_ClosedPattern_sequence = Core.Name "sequence"--_ClosedPattern_mapping = Core.Name "mapping"--_ClosedPattern_class = Core.Name "class"--data LiteralExpression =-  LiteralExpressionNumber SignedNumber |-  LiteralExpressionComplex ComplexNumber |-  LiteralExpressionString String_ |-  LiteralExpressionNone |-  LiteralExpressionTrue |-  LiteralExpressionFalse-  deriving (Eq, Ord, Read, Show)--_LiteralExpression = Core.Name "hydra.python.syntax.LiteralExpression"--_LiteralExpression_number = Core.Name "number"--_LiteralExpression_complex = Core.Name "complex"--_LiteralExpression_string = Core.Name "string"--_LiteralExpression_none = Core.Name "none"--_LiteralExpression_true = Core.Name "true"--_LiteralExpression_false = Core.Name "false"--data ComplexNumber =-  ComplexNumber {-    complexNumberReal :: SignedRealNumber,-    complexNumberPlusOrMinus :: PlusOrMinus,-    complexNumberImaginary :: ImaginaryNumber}-  deriving (Eq, Ord, Read, Show)--_ComplexNumber = Core.Name "hydra.python.syntax.ComplexNumber"--_ComplexNumber_real = Core.Name "real"--_ComplexNumber_plusOrMinus = Core.Name "plusOrMinus"--_ComplexNumber_imaginary = Core.Name "imaginary"--data PlusOrMinus =-  PlusOrMinusPlus |-  PlusOrMinusMinus-  deriving (Eq, Ord, Read, Show)--_PlusOrMinus = Core.Name "hydra.python.syntax.PlusOrMinus"--_PlusOrMinus_plus = Core.Name "plus"--_PlusOrMinus_minus = Core.Name "minus"--data SignedNumber =-  SignedNumberSign PlusOrMinus |-  SignedNumberNumber Number-  deriving (Eq, Ord, Read, Show)--_SignedNumber = Core.Name "hydra.python.syntax.SignedNumber"--_SignedNumber_sign = Core.Name "sign"--_SignedNumber_number = Core.Name "number"--data SignedRealNumber =-  SignedRealNumberSign PlusOrMinus |-  SignedRealNumberNumber RealNumber-  deriving (Eq, Ord, Read, Show)--_SignedRealNumber = Core.Name "hydra.python.syntax.SignedRealNumber"--_SignedRealNumber_sign = Core.Name "sign"--_SignedRealNumber_number = Core.Name "number"--data RealNumber =-  RealNumberInteger Integer |-  RealNumberFloat Double-  deriving (Eq, Ord, Read, Show)--_RealNumber = Core.Name "hydra.python.syntax.RealNumber"--_RealNumber_integer = Core.Name "integer"--_RealNumber_float = Core.Name "float"--newtype ImaginaryNumber =-  ImaginaryNumber {-    unImaginaryNumber :: Double}-  deriving (Eq, Ord, Read, Show)--_ImaginaryNumber = Core.Name "hydra.python.syntax.ImaginaryNumber"--newtype CapturePattern =-  CapturePattern {-    unCapturePattern :: PatternCaptureTarget}-  deriving (Eq, Ord, Read, Show)--_CapturePattern = Core.Name "hydra.python.syntax.CapturePattern"--newtype PatternCaptureTarget =-  PatternCaptureTarget {-    unPatternCaptureTarget :: Name}-  deriving (Eq, Ord, Read, Show)--_PatternCaptureTarget = Core.Name "hydra.python.syntax.PatternCaptureTarget"--newtype ValuePattern =-  ValuePattern {-    unValuePattern :: Attribute}-  deriving (Eq, Ord, Read, Show)--_ValuePattern = Core.Name "hydra.python.syntax.ValuePattern"--newtype Attribute =-  Attribute {-    unAttribute :: [Name]}-  deriving (Eq, Ord, Read, Show)--_Attribute = Core.Name "hydra.python.syntax.Attribute"--newtype NameOrAttribute =-  NameOrAttribute {-    unNameOrAttribute :: [Name]}-  deriving (Eq, Ord, Read, Show)--_NameOrAttribute = Core.Name "hydra.python.syntax.NameOrAttribute"--newtype GroupPattern =-  GroupPattern {-    unGroupPattern :: Pattern}-  deriving (Eq, Ord, Read, Show)--_GroupPattern = Core.Name "hydra.python.syntax.GroupPattern"--data SequencePattern =-  SequencePatternList (Maybe MaybeSequencePattern) |-  SequencePatternTuple (Maybe OpenSequencePattern)-  deriving (Eq, Ord, Read, Show)--_SequencePattern = Core.Name "hydra.python.syntax.SequencePattern"--_SequencePattern_list = Core.Name "list"--_SequencePattern_tuple = Core.Name "tuple"--data OpenSequencePattern =-  OpenSequencePattern {-    openSequencePatternHead :: MaybeStarPattern,-    openSequencePatternTail :: (Maybe MaybeSequencePattern)}-  deriving (Eq, Ord, Read, Show)--_OpenSequencePattern = Core.Name "hydra.python.syntax.OpenSequencePattern"--_OpenSequencePattern_head = Core.Name "head"--_OpenSequencePattern_tail = Core.Name "tail"--newtype MaybeSequencePattern =-  MaybeSequencePattern {-    unMaybeSequencePattern :: [MaybeStarPattern]}-  deriving (Eq, Ord, Read, Show)--_MaybeSequencePattern = Core.Name "hydra.python.syntax.MaybeSequencePattern"--data MaybeStarPattern =-  MaybeStarPatternStar StarPattern |-  MaybeStarPatternPattern Pattern-  deriving (Eq, Ord, Read, Show)--_MaybeStarPattern = Core.Name "hydra.python.syntax.MaybeStarPattern"--_MaybeStarPattern_star = Core.Name "star"--_MaybeStarPattern_pattern = Core.Name "pattern"--data StarPattern =-  StarPatternCapture PatternCaptureTarget |-  StarPatternWildcard-  deriving (Eq, Ord, Read, Show)--_StarPattern = Core.Name "hydra.python.syntax.StarPattern"--_StarPattern_capture = Core.Name "capture"--_StarPattern_wildcard = Core.Name "wildcard"--data MappingPattern =-  MappingPattern {-    mappingPatternItems :: (Maybe ItemsPattern),-    mappingPatternDoubleStar :: (Maybe DoubleStarPattern)}-  deriving (Eq, Ord, Read, Show)--_MappingPattern = Core.Name "hydra.python.syntax.MappingPattern"--_MappingPattern_items = Core.Name "items"--_MappingPattern_doubleStar = Core.Name "doubleStar"--newtype ItemsPattern =-  ItemsPattern {-    unItemsPattern :: [KeyValuePattern]}-  deriving (Eq, Ord, Read, Show)--_ItemsPattern = Core.Name "hydra.python.syntax.ItemsPattern"--data KeyValuePattern =-  KeyValuePattern {-    keyValuePatternKey :: LiteralExpressionOrAttribute,-    keyValuePatternValue :: Pattern}-  deriving (Eq, Ord, Read, Show)--_KeyValuePattern = Core.Name "hydra.python.syntax.KeyValuePattern"--_KeyValuePattern_key = Core.Name "key"--_KeyValuePattern_value = Core.Name "value"--data LiteralExpressionOrAttribute =-  LiteralExpressionOrAttributeLiteral LiteralExpression |-  LiteralExpressionOrAttributeAttribute Attribute-  deriving (Eq, Ord, Read, Show)--_LiteralExpressionOrAttribute = Core.Name "hydra.python.syntax.LiteralExpressionOrAttribute"--_LiteralExpressionOrAttribute_literal = Core.Name "literal"--_LiteralExpressionOrAttribute_attribute = Core.Name "attribute"--newtype DoubleStarPattern =-  DoubleStarPattern {-    unDoubleStarPattern :: PatternCaptureTarget}-  deriving (Eq, Ord, Read, Show)--_DoubleStarPattern = Core.Name "hydra.python.syntax.DoubleStarPattern"--data ClassPattern =-  ClassPattern {-    classPatternNameOrAttribute :: NameOrAttribute,-    classPatternPositionalPatterns :: (Maybe PositionalPatterns),-    classPatternKeywordPatterns :: (Maybe KeywordPatterns)}-  deriving (Eq, Ord, Read, Show)--_ClassPattern = Core.Name "hydra.python.syntax.ClassPattern"--_ClassPattern_nameOrAttribute = Core.Name "nameOrAttribute"--_ClassPattern_positionalPatterns = Core.Name "positionalPatterns"--_ClassPattern_keywordPatterns = Core.Name "keywordPatterns"--newtype PositionalPatterns =-  PositionalPatterns {-    unPositionalPatterns :: [Pattern]}-  deriving (Eq, Ord, Read, Show)--_PositionalPatterns = Core.Name "hydra.python.syntax.PositionalPatterns"--newtype KeywordPatterns =-  KeywordPatterns {-    unKeywordPatterns :: [KeywordPattern]}-  deriving (Eq, Ord, Read, Show)--_KeywordPatterns = Core.Name "hydra.python.syntax.KeywordPatterns"--data KeywordPattern =-  KeywordPattern {-    keywordPatternName :: Name,-    keywordPatternPattern :: Pattern}-  deriving (Eq, Ord, Read, Show)--_KeywordPattern = Core.Name "hydra.python.syntax.KeywordPattern"--_KeywordPattern_name = Core.Name "name"--_KeywordPattern_pattern = Core.Name "pattern"--data TypeAlias =-  TypeAlias {-    typeAliasName :: Name,-    typeAliasTypeParams :: [TypeParameter],-    typeAliasExpression :: Expression}-  deriving (Eq, Ord, Read, Show)--_TypeAlias = Core.Name "hydra.python.syntax.TypeAlias"--_TypeAlias_name = Core.Name "name"--_TypeAlias_typeParams = Core.Name "typeParams"--_TypeAlias_expression = Core.Name "expression"--data TypeParameter =-  TypeParameterSimple SimpleTypeParameter |-  TypeParameterStar StarTypeParameter |-  TypeParameterDoubleStar DoubleStarTypeParameter-  deriving (Eq, Ord, Read, Show)--_TypeParameter = Core.Name "hydra.python.syntax.TypeParameter"--_TypeParameter_simple = Core.Name "simple"--_TypeParameter_star = Core.Name "star"--_TypeParameter_doubleStar = Core.Name "doubleStar"--data SimpleTypeParameter =-  SimpleTypeParameter {-    simpleTypeParameterName :: Name,-    simpleTypeParameterBound :: (Maybe Expression),-    simpleTypeParameterDefault :: (Maybe Expression)}-  deriving (Eq, Ord, Read, Show)--_SimpleTypeParameter = Core.Name "hydra.python.syntax.SimpleTypeParameter"--_SimpleTypeParameter_name = Core.Name "name"--_SimpleTypeParameter_bound = Core.Name "bound"--_SimpleTypeParameter_default = Core.Name "default"--data StarTypeParameter =-  StarTypeParameter {-    starTypeParameterName :: Name,-    starTypeParameterDefault :: (Maybe StarExpression)}-  deriving (Eq, Ord, Read, Show)--_StarTypeParameter = Core.Name "hydra.python.syntax.StarTypeParameter"--_StarTypeParameter_name = Core.Name "name"--_StarTypeParameter_default = Core.Name "default"--data DoubleStarTypeParameter =-  DoubleStarTypeParameter {-    doubleStarTypeParameterName :: Name,-    doubleStarTypeParameterDefault :: (Maybe Expression)}-  deriving (Eq, Ord, Read, Show)--_DoubleStarTypeParameter = Core.Name "hydra.python.syntax.DoubleStarTypeParameter"--_DoubleStarTypeParameter_name = Core.Name "name"--_DoubleStarTypeParameter_default = Core.Name "default"--data Expression =-  ExpressionConditional Conditional |-  ExpressionSimple Disjunction |-  ExpressionLambda Lambda-  deriving (Eq, Ord, Read, Show)--_Expression = Core.Name "hydra.python.syntax.Expression"--_Expression_conditional = Core.Name "conditional"--_Expression_simple = Core.Name "simple"--_Expression_lambda = Core.Name "lambda"--data Conditional =-  Conditional {-    conditionalBody :: Disjunction,-    conditionalIf :: Disjunction,-    conditionalElse :: Expression}-  deriving (Eq, Ord, Read, Show)--_Conditional = Core.Name "hydra.python.syntax.Conditional"--_Conditional_body = Core.Name "body"--_Conditional_if = Core.Name "if"--_Conditional_else = Core.Name "else"--data YieldExpression =-  YieldExpressionFrom Expression |-  YieldExpressionSimple [StarExpression]-  deriving (Eq, Ord, Read, Show)--_YieldExpression = Core.Name "hydra.python.syntax.YieldExpression"--_YieldExpression_from = Core.Name "from"--_YieldExpression_simple = Core.Name "simple"--data StarExpression =-  StarExpressionStar BitwiseOr |-  StarExpressionSimple Expression-  deriving (Eq, Ord, Read, Show)--_StarExpression = Core.Name "hydra.python.syntax.StarExpression"--_StarExpression_star = Core.Name "star"--_StarExpression_simple = Core.Name "simple"--newtype StarNamedExpressions =-  StarNamedExpressions {-    unStarNamedExpressions :: [StarNamedExpression]}-  deriving (Eq, Ord, Read, Show)--_StarNamedExpressions = Core.Name "hydra.python.syntax.StarNamedExpressions"--data StarNamedExpression =-  StarNamedExpressionStar BitwiseOr |-  StarNamedExpressionSimple NamedExpression-  deriving (Eq, Ord, Read, Show)--_StarNamedExpression = Core.Name "hydra.python.syntax.StarNamedExpression"--_StarNamedExpression_star = Core.Name "star"--_StarNamedExpression_simple = Core.Name "simple"--data AssignmentExpression =-  AssignmentExpression {-    assignmentExpressionName :: Name,-    assignmentExpressionExpression :: Expression}-  deriving (Eq, Ord, Read, Show)--_AssignmentExpression = Core.Name "hydra.python.syntax.AssignmentExpression"--_AssignmentExpression_name = Core.Name "name"--_AssignmentExpression_expression = Core.Name "expression"--data NamedExpression =-  NamedExpressionAssignment AssignmentExpression |-  NamedExpressionSimple Expression-  deriving (Eq, Ord, Read, Show)--_NamedExpression = Core.Name "hydra.python.syntax.NamedExpression"--_NamedExpression_assignment = Core.Name "assignment"--_NamedExpression_simple = Core.Name "simple"--newtype Disjunction =-  Disjunction {-    unDisjunction :: [Conjunction]}-  deriving (Eq, Ord, Read, Show)--_Disjunction = Core.Name "hydra.python.syntax.Disjunction"--newtype Conjunction =-  Conjunction {-    unConjunction :: [Inversion]}-  deriving (Eq, Ord, Read, Show)--_Conjunction = Core.Name "hydra.python.syntax.Conjunction"--data Inversion =-  InversionNot Inversion |-  InversionSimple Comparison-  deriving (Eq, Ord, Read, Show)--_Inversion = Core.Name "hydra.python.syntax.Inversion"--_Inversion_not = Core.Name "not"--_Inversion_simple = Core.Name "simple"--data Comparison =-  Comparison {-    comparisonLhs :: BitwiseOr,-    comparisonRhs :: [CompareOpBitwiseOrPair]}-  deriving (Eq, Ord, Read, Show)--_Comparison = Core.Name "hydra.python.syntax.Comparison"--_Comparison_lhs = Core.Name "lhs"--_Comparison_rhs = Core.Name "rhs"--data CompareOpBitwiseOrPair =-  CompareOpBitwiseOrPair {-    compareOpBitwiseOrPairOperator :: CompareOp,-    compareOpBitwiseOrPairRhs :: BitwiseOr}-  deriving (Eq, Ord, Read, Show)--_CompareOpBitwiseOrPair = Core.Name "hydra.python.syntax.CompareOpBitwiseOrPair"--_CompareOpBitwiseOrPair_operator = Core.Name "operator"--_CompareOpBitwiseOrPair_rhs = Core.Name "rhs"--data CompareOp =-  CompareOpEq |-  CompareOpNoteq |-  CompareOpLte |-  CompareOpLt |-  CompareOpGte |-  CompareOpGt |-  CompareOpNotin |-  CompareOpIn |-  CompareOpIsnot |-  CompareOpIs-  deriving (Eq, Ord, Read, Show)--_CompareOp = Core.Name "hydra.python.syntax.CompareOp"--_CompareOp_eq = Core.Name "eq"--_CompareOp_noteq = Core.Name "noteq"--_CompareOp_lte = Core.Name "lte"--_CompareOp_lt = Core.Name "lt"--_CompareOp_gte = Core.Name "gte"--_CompareOp_gt = Core.Name "gt"--_CompareOp_notin = Core.Name "notin"--_CompareOp_in = Core.Name "in"--_CompareOp_isnot = Core.Name "isnot"--_CompareOp_is = Core.Name "is"--data BitwiseOr =-  BitwiseOr {-    bitwiseOrLhs :: (Maybe BitwiseOr),-    bitwiseOrRhs :: BitwiseXor}-  deriving (Eq, Ord, Read, Show)--_BitwiseOr = Core.Name "hydra.python.syntax.BitwiseOr"--_BitwiseOr_lhs = Core.Name "lhs"--_BitwiseOr_rhs = Core.Name "rhs"--data BitwiseXor =-  BitwiseXor {-    bitwiseXorLhs :: (Maybe BitwiseXor),-    bitwiseXorRhs :: BitwiseAnd}-  deriving (Eq, Ord, Read, Show)--_BitwiseXor = Core.Name "hydra.python.syntax.BitwiseXor"--_BitwiseXor_lhs = Core.Name "lhs"--_BitwiseXor_rhs = Core.Name "rhs"--data BitwiseAnd =-  BitwiseAnd {-    bitwiseAndLhs :: (Maybe BitwiseAnd),-    bitwiseAndRhs :: ShiftExpression}-  deriving (Eq, Ord, Read, Show)--_BitwiseAnd = Core.Name "hydra.python.syntax.BitwiseAnd"--_BitwiseAnd_lhs = Core.Name "lhs"--_BitwiseAnd_rhs = Core.Name "rhs"--data ShiftExpression =-  ShiftExpression {-    shiftExpressionLhs :: (Maybe ShiftLhs),-    shiftExpressionRhs :: Sum}-  deriving (Eq, Ord, Read, Show)--_ShiftExpression = Core.Name "hydra.python.syntax.ShiftExpression"--_ShiftExpression_lhs = Core.Name "lhs"--_ShiftExpression_rhs = Core.Name "rhs"--data ShiftLhs =-  ShiftLhs {-    shiftLhsOperand :: ShiftExpression,-    shiftLhsOperator :: ShiftOp}-  deriving (Eq, Ord, Read, Show)--_ShiftLhs = Core.Name "hydra.python.syntax.ShiftLhs"--_ShiftLhs_operand = Core.Name "operand"--_ShiftLhs_operator = Core.Name "operator"--data ShiftOp =-  ShiftOpLeft |-  ShiftOpRight-  deriving (Eq, Ord, Read, Show)--_ShiftOp = Core.Name "hydra.python.syntax.ShiftOp"--_ShiftOp_left = Core.Name "left"--_ShiftOp_right = Core.Name "right"--data Sum =-  Sum {-    sumLhs :: (Maybe SumLhs),-    sumRhs :: Term}-  deriving (Eq, Ord, Read, Show)--_Sum = Core.Name "hydra.python.syntax.Sum"--_Sum_lhs = Core.Name "lhs"--_Sum_rhs = Core.Name "rhs"--data SumLhs =-  SumLhs {-    sumLhsOperand :: Sum,-    sumLhsOperator :: SumOp}-  deriving (Eq, Ord, Read, Show)--_SumLhs = Core.Name "hydra.python.syntax.SumLhs"--_SumLhs_operand = Core.Name "operand"--_SumLhs_operator = Core.Name "operator"--data SumOp =-  SumOpAdd |-  SumOpSub-  deriving (Eq, Ord, Read, Show)--_SumOp = Core.Name "hydra.python.syntax.SumOp"--_SumOp_add = Core.Name "add"--_SumOp_sub = Core.Name "sub"--data Term =-  Term {-    termLhs :: (Maybe TermLhs),-    termRhs :: Factor}-  deriving (Eq, Ord, Read, Show)--_Term = Core.Name "hydra.python.syntax.Term"--_Term_lhs = Core.Name "lhs"--_Term_rhs = Core.Name "rhs"--data TermLhs =-  TermLhs {-    termLhsOperand :: Term,-    termLhsOperator :: TermOp}-  deriving (Eq, Ord, Read, Show)--_TermLhs = Core.Name "hydra.python.syntax.TermLhs"--_TermLhs_operand = Core.Name "operand"--_TermLhs_operator = Core.Name "operator"--data TermOp =-  TermOpMul |-  TermOpDiv |-  TermOpFloordiv |-  TermOpMod |-  TermOpMatmul-  deriving (Eq, Ord, Read, Show)--_TermOp = Core.Name "hydra.python.syntax.TermOp"--_TermOp_mul = Core.Name "mul"--_TermOp_div = Core.Name "div"--_TermOp_floordiv = Core.Name "floordiv"--_TermOp_mod = Core.Name "mod"--_TermOp_matmul = Core.Name "matmul"--data Factor =-  FactorPositive Factor |-  FactorNegative Factor |-  FactorComplement Factor |-  FactorSimple Power-  deriving (Eq, Ord, Read, Show)--_Factor = Core.Name "hydra.python.syntax.Factor"--_Factor_positive = Core.Name "positive"--_Factor_negative = Core.Name "negative"--_Factor_complement = Core.Name "complement"--_Factor_simple = Core.Name "simple"--data Power =-  Power {-    powerLhs :: AwaitPrimary,-    powerRhs :: (Maybe Factor)}-  deriving (Eq, Ord, Read, Show)--_Power = Core.Name "hydra.python.syntax.Power"--_Power_lhs = Core.Name "lhs"--_Power_rhs = Core.Name "rhs"--data AwaitPrimary =-  AwaitPrimary {-    awaitPrimaryAwait :: Bool,-    awaitPrimaryPrimary :: Primary}-  deriving (Eq, Ord, Read, Show)--_AwaitPrimary = Core.Name "hydra.python.syntax.AwaitPrimary"--_AwaitPrimary_await = Core.Name "await"--_AwaitPrimary_primary = Core.Name "primary"--data Primary =-  PrimarySimple Atom |-  PrimaryCompound PrimaryWithRhs-  deriving (Eq, Ord, Read, Show)--_Primary = Core.Name "hydra.python.syntax.Primary"--_Primary_simple = Core.Name "simple"--_Primary_compound = Core.Name "compound"--data PrimaryWithRhs =-  PrimaryWithRhs {-    primaryWithRhsPrimary :: Primary,-    primaryWithRhsRhs :: PrimaryRhs}-  deriving (Eq, Ord, Read, Show)--_PrimaryWithRhs = Core.Name "hydra.python.syntax.PrimaryWithRhs"--_PrimaryWithRhs_primary = Core.Name "primary"--_PrimaryWithRhs_rhs = Core.Name "rhs"--data PrimaryRhs =-  PrimaryRhsProject Name |-  PrimaryRhsGenexp Genexp |-  PrimaryRhsCall Args |-  PrimaryRhsSlices Slices-  deriving (Eq, Ord, Read, Show)--_PrimaryRhs = Core.Name "hydra.python.syntax.PrimaryRhs"--_PrimaryRhs_project = Core.Name "project"--_PrimaryRhs_genexp = Core.Name "genexp"--_PrimaryRhs_call = Core.Name "call"--_PrimaryRhs_slices = Core.Name "slices"--data Slices =-  Slices {-    slicesHead :: Slice,-    slicesTail :: [SliceOrStarredExpression]}-  deriving (Eq, Ord, Read, Show)--_Slices = Core.Name "hydra.python.syntax.Slices"--_Slices_head = Core.Name "head"--_Slices_tail = Core.Name "tail"--data SliceOrStarredExpression =-  SliceOrStarredExpressionSlice Slice |-  SliceOrStarredExpressionStarred StarredExpression-  deriving (Eq, Ord, Read, Show)--_SliceOrStarredExpression = Core.Name "hydra.python.syntax.SliceOrStarredExpression"--_SliceOrStarredExpression_slice = Core.Name "slice"--_SliceOrStarredExpression_starred = Core.Name "starred"--data Slice =-  SliceNamed NamedExpression |-  SliceSlice_ SliceExpression-  deriving (Eq, Ord, Read, Show)--_Slice = Core.Name "hydra.python.syntax.Slice"--_Slice_named = Core.Name "named"--_Slice_slice_ = Core.Name "slice_"--data SliceExpression =-  SliceExpression {-    sliceExpressionStart :: (Maybe Expression),-    sliceExpressionStop :: (Maybe Expression),-    sliceExpressionStep :: (Maybe Expression)}-  deriving (Eq, Ord, Read, Show)--_SliceExpression = Core.Name "hydra.python.syntax.SliceExpression"--_SliceExpression_start = Core.Name "start"--_SliceExpression_stop = Core.Name "stop"--_SliceExpression_step = Core.Name "step"--data Atom =-  AtomName Name |-  AtomTrue |-  AtomFalse |-  AtomNone |-  AtomString String_ |-  AtomNumber Number |-  AtomTuple Tuple |-  AtomGroup Group |-  AtomGenexp Genexp |-  AtomList List |-  AtomListcomp Listcomp |-  AtomDict Dict |-  AtomSet Set |-  AtomDictcomp Dictcomp |-  AtomSetcomp Setcomp |-  AtomEllipsis-  deriving (Eq, Ord, Read, Show)--_Atom = Core.Name "hydra.python.syntax.Atom"--_Atom_name = Core.Name "name"--_Atom_true = Core.Name "true"--_Atom_false = Core.Name "false"--_Atom_none = Core.Name "none"--_Atom_string = Core.Name "string"--_Atom_number = Core.Name "number"--_Atom_tuple = Core.Name "tuple"--_Atom_group = Core.Name "group"--_Atom_genexp = Core.Name "genexp"--_Atom_list = Core.Name "list"--_Atom_listcomp = Core.Name "listcomp"--_Atom_dict = Core.Name "dict"--_Atom_set = Core.Name "set"--_Atom_dictcomp = Core.Name "dictcomp"--_Atom_setcomp = Core.Name "setcomp"--_Atom_ellipsis = Core.Name "ellipsis"--data Group =-  GroupYield YieldExpression |-  GroupExpression NamedExpression-  deriving (Eq, Ord, Read, Show)--_Group = Core.Name "hydra.python.syntax.Group"--_Group_yield = Core.Name "yield"--_Group_expression = Core.Name "expression"--data Lambda =-  Lambda {-    lambdaParams :: LambdaParameters,-    lambdaBody :: Expression}-  deriving (Eq, Ord, Read, Show)--_Lambda = Core.Name "hydra.python.syntax.Lambda"--_Lambda_params = Core.Name "params"--_Lambda_body = Core.Name "body"--data LambdaParameters =-  LambdaParameters {-    lambdaParametersSlashNoDefault :: (Maybe LambdaSlashNoDefault),-    lambdaParametersParamNoDefault :: [LambdaParamNoDefault],-    lambdaParametersParamWithDefault :: [LambdaParamWithDefault],-    lambdaParametersStarEtc :: (Maybe LambdaStarEtc)}-  deriving (Eq, Ord, Read, Show)--_LambdaParameters = Core.Name "hydra.python.syntax.LambdaParameters"--_LambdaParameters_slashNoDefault = Core.Name "slashNoDefault"--_LambdaParameters_paramNoDefault = Core.Name "paramNoDefault"--_LambdaParameters_paramWithDefault = Core.Name "paramWithDefault"--_LambdaParameters_starEtc = Core.Name "starEtc"--data LambdaSlashNoDefault =-  LambdaSlashNoDefault {-    lambdaSlashNoDefaultParameters :: [LambdaParamNoDefault]}-  deriving (Eq, Ord, Read, Show)--_LambdaSlashNoDefault = Core.Name "hydra.python.syntax.LambdaSlashNoDefault"--_LambdaSlashNoDefault_parameters = Core.Name "parameters"--data LambdaSlashWithDefault =-  LambdaSlashWithDefault {-    lambdaSlashWithDefaultParamNoDefault :: [LambdaParamNoDefault],-    lambdaSlashWithDefaultParamWithDefault :: [LambdaParamWithDefault]}-  deriving (Eq, Ord, Read, Show)--_LambdaSlashWithDefault = Core.Name "hydra.python.syntax.LambdaSlashWithDefault"--_LambdaSlashWithDefault_paramNoDefault = Core.Name "paramNoDefault"--_LambdaSlashWithDefault_paramWithDefault = Core.Name "paramWithDefault"--data LambdaStarEtc =-  LambdaStarEtcStar Bool |-  LambdaStarEtcParamNoDefault LambdaParamNoDefault |-  LambdaStarEtcParamMaybeDefault [LambdaParamMaybeDefault] |-  LambdaStarEtcKwds LambdaKwds-  deriving (Eq, Ord, Read, Show)--_LambdaStarEtc = Core.Name "hydra.python.syntax.LambdaStarEtc"--_LambdaStarEtc_star = Core.Name "star"--_LambdaStarEtc_paramNoDefault = Core.Name "paramNoDefault"--_LambdaStarEtc_paramMaybeDefault = Core.Name "paramMaybeDefault"--_LambdaStarEtc_kwds = Core.Name "kwds"--newtype LambdaKwds =-  LambdaKwds {-    unLambdaKwds :: LambdaParamNoDefault}-  deriving (Eq, Ord, Read, Show)--_LambdaKwds = Core.Name "hydra.python.syntax.LambdaKwds"--newtype LambdaParamNoDefault =-  LambdaParamNoDefault {-    unLambdaParamNoDefault :: Name}-  deriving (Eq, Ord, Read, Show)--_LambdaParamNoDefault = Core.Name "hydra.python.syntax.LambdaParamNoDefault"--data LambdaParamWithDefault =-  LambdaParamWithDefault {-    lambdaParamWithDefaultParam :: Name,-    lambdaParamWithDefaultDefault :: (Maybe Default)}-  deriving (Eq, Ord, Read, Show)--_LambdaParamWithDefault = Core.Name "hydra.python.syntax.LambdaParamWithDefault"--_LambdaParamWithDefault_param = Core.Name "param"--_LambdaParamWithDefault_default = Core.Name "default"--data LambdaParamMaybeDefault =-  LambdaParamMaybeDefault {-    lambdaParamMaybeDefaultParam :: Name,-    lambdaParamMaybeDefaultDefault :: (Maybe Default)}-  deriving (Eq, Ord, Read, Show)--_LambdaParamMaybeDefault = Core.Name "hydra.python.syntax.LambdaParamMaybeDefault"--_LambdaParamMaybeDefault_param = Core.Name "param"--_LambdaParamMaybeDefault_default = Core.Name "default"--newtype List =-  List {-    unList :: [StarNamedExpression]}-  deriving (Eq, Ord, Read, Show)--_List = Core.Name "hydra.python.syntax.List"--newtype Tuple =-  Tuple {-    unTuple :: [StarNamedExpression]}-  deriving (Eq, Ord, Read, Show)--_Tuple = Core.Name "hydra.python.syntax.Tuple"--newtype Set =-  Set {-    unSet :: [StarNamedExpression]}-  deriving (Eq, Ord, Read, Show)--_Set = Core.Name "hydra.python.syntax.Set"--newtype Dict =-  Dict {-    unDict :: [DoubleStarredKvpair]}-  deriving (Eq, Ord, Read, Show)--_Dict = Core.Name "hydra.python.syntax.Dict"--data DoubleStarredKvpair =-  DoubleStarredKvpairStarred BitwiseOr |-  DoubleStarredKvpairPair Kvpair-  deriving (Eq, Ord, Read, Show)--_DoubleStarredKvpair = Core.Name "hydra.python.syntax.DoubleStarredKvpair"--_DoubleStarredKvpair_starred = Core.Name "starred"--_DoubleStarredKvpair_pair = Core.Name "pair"--data Kvpair =-  Kvpair {-    kvpairKey :: Expression,-    kvpairValue :: Expression}-  deriving (Eq, Ord, Read, Show)--_Kvpair = Core.Name "hydra.python.syntax.Kvpair"--_Kvpair_key = Core.Name "key"--_Kvpair_value = Core.Name "value"--newtype ForIfClauses =-  ForIfClauses {-    unForIfClauses :: [ForIfClause]}-  deriving (Eq, Ord, Read, Show)--_ForIfClauses = Core.Name "hydra.python.syntax.ForIfClauses"--data ForIfClause =-  ForIfClause {-    forIfClauseAsync :: Bool,-    forIfClauseTargets :: [StarTarget],-    forIfClauseIn :: Disjunction,-    forIfClauseIfs :: [Disjunction]}-  deriving (Eq, Ord, Read, Show)--_ForIfClause = Core.Name "hydra.python.syntax.ForIfClause"--_ForIfClause_async = Core.Name "async"--_ForIfClause_targets = Core.Name "targets"--_ForIfClause_in = Core.Name "in"--_ForIfClause_ifs = Core.Name "ifs"--data Listcomp =-  Listcomp {-    listcompExpression :: NamedExpression,-    listcompForIfClauses :: ForIfClauses}-  deriving (Eq, Ord, Read, Show)--_Listcomp = Core.Name "hydra.python.syntax.Listcomp"--_Listcomp_expression = Core.Name "expression"--_Listcomp_forIfClauses = Core.Name "forIfClauses"--data Setcomp =-  Setcomp {-    setcompExpression :: NamedExpression,-    setcompForIfClauses :: ForIfClauses}-  deriving (Eq, Ord, Read, Show)--_Setcomp = Core.Name "hydra.python.syntax.Setcomp"--_Setcomp_expression = Core.Name "expression"--_Setcomp_forIfClauses = Core.Name "forIfClauses"--data Genexp =-  Genexp {-    genexpHead :: GenexpHead,-    genexpTail :: ForIfClauses}-  deriving (Eq, Ord, Read, Show)--_Genexp = Core.Name "hydra.python.syntax.Genexp"--_Genexp_head = Core.Name "head"--_Genexp_tail = Core.Name "tail"--data GenexpHead =-  GenexpHeadAssignment AssignmentExpression |-  GenexpHeadExpression Expression-  deriving (Eq, Ord, Read, Show)--_GenexpHead = Core.Name "hydra.python.syntax.GenexpHead"--_GenexpHead_assignment = Core.Name "assignment"--_GenexpHead_expression = Core.Name "expression"--data Dictcomp =-  Dictcomp {-    dictcompKvpair :: Kvpair,-    dictcompForIfClauses :: ForIfClauses}-  deriving (Eq, Ord, Read, Show)--_Dictcomp = Core.Name "hydra.python.syntax.Dictcomp"--_Dictcomp_kvpair = Core.Name "kvpair"--_Dictcomp_forIfClauses = Core.Name "forIfClauses"--data Args =-  Args {-    argsPositional :: [PosArg],-    argsKwargOrStarred :: [KwargOrStarred],-    argsKwargOrDoubleStarred :: [KwargOrDoubleStarred]}-  deriving (Eq, Ord, Read, Show)--_Args = Core.Name "hydra.python.syntax.Args"--_Args_positional = Core.Name "positional"--_Args_kwargOrStarred = Core.Name "kwargOrStarred"--_Args_kwargOrDoubleStarred = Core.Name "kwargOrDoubleStarred"--data PosArg =-  PosArgStarred StarredExpression |-  PosArgAssignment AssignmentExpression |-  PosArgExpression Expression-  deriving (Eq, Ord, Read, Show)--_PosArg = Core.Name "hydra.python.syntax.PosArg"--_PosArg_starred = Core.Name "starred"--_PosArg_assignment = Core.Name "assignment"--_PosArg_expression = Core.Name "expression"--newtype StarredExpression =-  StarredExpression {-    unStarredExpression :: Expression}-  deriving (Eq, Ord, Read, Show)--_StarredExpression = Core.Name "hydra.python.syntax.StarredExpression"--data KwargOrStarred =-  KwargOrStarredKwarg Kwarg |-  KwargOrStarredStarred StarredExpression-  deriving (Eq, Ord, Read, Show)--_KwargOrStarred = Core.Name "hydra.python.syntax.KwargOrStarred"--_KwargOrStarred_kwarg = Core.Name "kwarg"--_KwargOrStarred_starred = Core.Name "starred"--data Kwarg =-  Kwarg {-    kwargName :: Name,-    kwargValue :: Expression}-  deriving (Eq, Ord, Read, Show)--_Kwarg = Core.Name "hydra.python.syntax.Kwarg"--_Kwarg_name = Core.Name "name"--_Kwarg_value = Core.Name "value"--data KwargOrDoubleStarred =-  KwargOrDoubleStarredKwarg Kwarg |-  KwargOrDoubleStarredDoubleStarred Expression-  deriving (Eq, Ord, Read, Show)--_KwargOrDoubleStarred = Core.Name "hydra.python.syntax.KwargOrDoubleStarred"--_KwargOrDoubleStarred_kwarg = Core.Name "kwarg"--_KwargOrDoubleStarred_doubleStarred = Core.Name "doubleStarred"--newtype StarTargetsListSeq =-  StarTargetsListSeq {-    unStarTargetsListSeq :: [StarTarget]}-  deriving (Eq, Ord, Read, Show)--_StarTargetsListSeq = Core.Name "hydra.python.syntax.StarTargetsListSeq"--newtype StarTargetsTupleSeq =-  StarTargetsTupleSeq {-    unStarTargetsTupleSeq :: [StarTarget]}-  deriving (Eq, Ord, Read, Show)--_StarTargetsTupleSeq = Core.Name "hydra.python.syntax.StarTargetsTupleSeq"--data StarTarget =-  StarTargetStarred StarTarget |-  StarTargetUnstarred TargetWithStarAtom-  deriving (Eq, Ord, Read, Show)--_StarTarget = Core.Name "hydra.python.syntax.StarTarget"--_StarTarget_starred = Core.Name "starred"--_StarTarget_unstarred = Core.Name "unstarred"--data TargetWithStarAtom =-  TargetWithStarAtomProject TPrimaryAndName |-  TargetWithStarAtomSlices TPrimaryAndSlices |-  TargetWithStarAtomAtom StarAtom-  deriving (Eq, Ord, Read, Show)--_TargetWithStarAtom = Core.Name "hydra.python.syntax.TargetWithStarAtom"--_TargetWithStarAtom_project = Core.Name "project"--_TargetWithStarAtom_slices = Core.Name "slices"--_TargetWithStarAtom_atom = Core.Name "atom"--data TPrimaryAndName =-  TPrimaryAndName {-    tPrimaryAndNamePrimary :: TPrimary,-    tPrimaryAndNameName :: Name}-  deriving (Eq, Ord, Read, Show)--_TPrimaryAndName = Core.Name "hydra.python.syntax.TPrimaryAndName"--_TPrimaryAndName_primary = Core.Name "primary"--_TPrimaryAndName_name = Core.Name "name"--data TPrimaryAndSlices =-  TPrimaryAndSlices {-    tPrimaryAndSlicesPrimary :: TPrimary,-    tPrimaryAndSlicesSlices :: Slices}-  deriving (Eq, Ord, Read, Show)--_TPrimaryAndSlices = Core.Name "hydra.python.syntax.TPrimaryAndSlices"--_TPrimaryAndSlices_primary = Core.Name "primary"--_TPrimaryAndSlices_slices = Core.Name "slices"--data StarAtom =-  StarAtomName Name |-  StarAtomTargetWithStarAtom TargetWithStarAtom |-  StarAtomStarTargetsTupleSeq (Maybe StarTargetsTupleSeq) |-  StarAtomStarTargetsListSeq (Maybe StarTargetsListSeq)-  deriving (Eq, Ord, Read, Show)--_StarAtom = Core.Name "hydra.python.syntax.StarAtom"--_StarAtom_name = Core.Name "name"--_StarAtom_targetWithStarAtom = Core.Name "targetWithStarAtom"--_StarAtom_starTargetsTupleSeq = Core.Name "starTargetsTupleSeq"--_StarAtom_starTargetsListSeq = Core.Name "starTargetsListSeq"--data SingleTarget =-  SingleTargetSubscriptAttributeTarget SingleSubscriptAttributeTarget |-  SingleTargetName Name |-  SingleTargetParens SingleTarget-  deriving (Eq, Ord, Read, Show)--_SingleTarget = Core.Name "hydra.python.syntax.SingleTarget"--_SingleTarget_subscriptAttributeTarget = Core.Name "subscriptAttributeTarget"--_SingleTarget_name = Core.Name "name"--_SingleTarget_parens = Core.Name "parens"--data SingleSubscriptAttributeTarget =-  SingleSubscriptAttributeTargetPrimaryAndName TPrimaryAndName |-  SingleSubscriptAttributeTargetPrimaryAndSlices TPrimaryAndSlices-  deriving (Eq, Ord, Read, Show)--_SingleSubscriptAttributeTarget = Core.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"--_SingleSubscriptAttributeTarget_primaryAndName = Core.Name "primaryAndName"--_SingleSubscriptAttributeTarget_primaryAndSlices = Core.Name "primaryAndSlices"--data TPrimary =-  TPrimaryPrimaryAndName TPrimaryAndName |-  TPrimaryPrimaryAndSlices TPrimaryAndSlices |-  TPrimaryPrimaryAndGenexp TPrimaryAndGenexp |-  TPrimaryPrimaryAndArguments TPrimaryAndArguments |-  TPrimaryAtom Atom-  deriving (Eq, Ord, Read, Show)--_TPrimary = Core.Name "hydra.python.syntax.TPrimary"--_TPrimary_primaryAndName = Core.Name "primaryAndName"--_TPrimary_primaryAndSlices = Core.Name "primaryAndSlices"--_TPrimary_primaryAndGenexp = Core.Name "primaryAndGenexp"--_TPrimary_primaryAndArguments = Core.Name "primaryAndArguments"--_TPrimary_atom = Core.Name "atom"--data TPrimaryAndGenexp =-  TPrimaryAndGenexp {-    tPrimaryAndGenexpPrimary :: TPrimary,-    tPrimaryAndGenexpGenexp :: Genexp}-  deriving (Eq, Ord, Read, Show)--_TPrimaryAndGenexp = Core.Name "hydra.python.syntax.TPrimaryAndGenexp"--_TPrimaryAndGenexp_primary = Core.Name "primary"--_TPrimaryAndGenexp_genexp = Core.Name "genexp"--data TPrimaryAndArguments =-  TPrimaryAndArguments {-    tPrimaryAndArgumentsPrimary :: TPrimary,-    tPrimaryAndArgumentsArguments :: (Maybe Args)}-  deriving (Eq, Ord, Read, Show)--_TPrimaryAndArguments = Core.Name "hydra.python.syntax.TPrimaryAndArguments"--_TPrimaryAndArguments_primary = Core.Name "primary"--_TPrimaryAndArguments_arguments = Core.Name "arguments"--newtype DelTargets =-  DelTargets {-    unDelTargets :: [DelTarget]}-  deriving (Eq, Ord, Read, Show)--_DelTargets = Core.Name "hydra.python.syntax.DelTargets"--data DelTarget =-  DelTargetPrimaryAndName TPrimaryAndName |-  DelTargetPrimaryAndSlices TPrimaryAndSlices |-  DelTargetDelTAtom DelTAtom-  deriving (Eq, Ord, Read, Show)--_DelTarget = Core.Name "hydra.python.syntax.DelTarget"--_DelTarget_primaryAndName = Core.Name "primaryAndName"--_DelTarget_primaryAndSlices = Core.Name "primaryAndSlices"--_DelTarget_delTAtom = Core.Name "delTAtom"--data DelTAtom =-  DelTAtomName Name |-  DelTAtomTarget DelTarget |-  DelTAtomTargets DelTargets-  deriving (Eq, Ord, Read, Show)--_DelTAtom = Core.Name "hydra.python.syntax.DelTAtom"--_DelTAtom_name = Core.Name "name"--_DelTAtom_target = Core.Name "target"--_DelTAtom_targets = Core.Name "targets"--data TypeExpression =-  TypeExpressionExpression Expression |-  TypeExpressionStarredExpression Expression |-  TypeExpressionDoubleStarredExpression Expression-  deriving (Eq, Ord, Read, Show)--_TypeExpression = Core.Name "hydra.python.syntax.TypeExpression"--_TypeExpression_expression = Core.Name "expression"--_TypeExpression_starredExpression = Core.Name "starredExpression"--_TypeExpression_doubleStarredExpression = Core.Name "doubleStarredExpression"--newtype FuncTypeComment =-  FuncTypeComment {-    unFuncTypeComment :: TypeComment}-  deriving (Eq, Ord, Read, Show)--_FuncTypeComment = Core.Name "hydra.python.syntax.FuncTypeComment"+import qualified Hydra.Core.Model as Model+import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines)+import qualified Data.Scientific as Sci+import Data.Void++data AnnotatedStatement =+  AnnotatedStatement {+    annotatedStatementComment :: String,+    annotatedStatementStatement :: Statement}+  deriving (Eq, Ord, Read, Show)++_AnnotatedStatement = Model.Name "hydra.python.syntax.AnnotatedStatement"++_AnnotatedStatement_comment = Model.Name "comment"++_AnnotatedStatement_statement = Model.Name "statement"++newtype Module =+  Module {+    unModule :: [[Statement]]}+  deriving (Eq, Ord, Read, Show)++_Module = Model.Name "hydra.python.syntax.Module"++data QuoteStyle =+  QuoteStyleSingle |+  QuoteStyleDouble |+  QuoteStyleTripleSingle |+  QuoteStyleTripleDouble+  deriving (Eq, Ord, Read, Show)++_QuoteStyle = Model.Name "hydra.python.syntax.QuoteStyle"++_QuoteStyle_single = Model.Name "single"++_QuoteStyle_double = Model.Name "double"++_QuoteStyle_tripleSingle = Model.Name "tripleSingle"++_QuoteStyle_tripleDouble = Model.Name "tripleDouble"++data StringPrefix =+  StringPrefixRaw |+  StringPrefixBytes |+  StringPrefixRawBytes |+  StringPrefixUnicode+  deriving (Eq, Ord, Read, Show)++_StringPrefix = Model.Name "hydra.python.syntax.StringPrefix"++_StringPrefix_raw = Model.Name "raw"++_StringPrefix_bytes = Model.Name "bytes"++_StringPrefix_rawBytes = Model.Name "rawBytes"++_StringPrefix_unicode = Model.Name "unicode"++newtype Name =+  Name {+    unName :: String}+  deriving (Eq, Ord, Read, Show)++_Name = Model.Name "hydra.python.syntax.Name"++data Number =+  NumberInteger Integer |+  NumberFloat Double |+  NumberImaginary Double+  deriving (Eq, Ord, Read, Show)++_Number = Model.Name "hydra.python.syntax.Number"++_Number_integer = Model.Name "integer"++_Number_float = Model.Name "float"++_Number_imaginary = Model.Name "imaginary"++data String_ =+  String_ {+    stringValue :: String,+    stringPrefix :: (Maybe StringPrefix),+    stringQuoteStyle :: QuoteStyle}+  deriving (Eq, Ord, Read, Show)++_String = Model.Name "hydra.python.syntax.String"++_String_value = Model.Name "value"++_String_prefix = Model.Name "prefix"++_String_quoteStyle = Model.Name "quoteStyle"++newtype TypeComment =+  TypeComment {+    unTypeComment :: String}+  deriving (Eq, Ord, Read, Show)++_TypeComment = Model.Name "hydra.python.syntax.TypeComment"++newtype File =+  File {+    unFile :: [Statement]}+  deriving (Eq, Ord, Read, Show)++_File = Model.Name "hydra.python.syntax.File"++newtype Interactive =+  Interactive {+    unInteractive :: Statement}+  deriving (Eq, Ord, Read, Show)++_Interactive = Model.Name "hydra.python.syntax.Interactive"++newtype Eval =+  Eval {+    unEval :: [Expression]}+  deriving (Eq, Ord, Read, Show)++_Eval = Model.Name "hydra.python.syntax.Eval"++data Statement =+  StatementCompound CompoundStatement |+  StatementSimple [SimpleStatement] |+  StatementAnnotated AnnotatedStatement+  deriving (Eq, Ord, Read, Show)++_Statement = Model.Name "hydra.python.syntax.Statement"++_Statement_compound = Model.Name "compound"++_Statement_simple = Model.Name "simple"++_Statement_annotated = Model.Name "annotated"++data SimpleStatement =+  SimpleStatementAssignment Assignment |+  SimpleStatementTypeAlias TypeAlias |+  SimpleStatementStarExpressions [StarExpression] |+  SimpleStatementReturn ReturnStatement |+  SimpleStatementImport ImportStatement |+  SimpleStatementRaise RaiseStatement |+  SimpleStatementPass |+  SimpleStatementDel DelStatement |+  SimpleStatementYield YieldStatement |+  SimpleStatementAssert AssertStatement |+  SimpleStatementBreak |+  SimpleStatementContinue |+  SimpleStatementGlobal [Name] |+  SimpleStatementNonlocal [Name]+  deriving (Eq, Ord, Read, Show)++_SimpleStatement = Model.Name "hydra.python.syntax.SimpleStatement"++_SimpleStatement_assignment = Model.Name "assignment"++_SimpleStatement_typeAlias = Model.Name "typeAlias"++_SimpleStatement_starExpressions = Model.Name "starExpressions"++_SimpleStatement_return = Model.Name "return"++_SimpleStatement_import = Model.Name "import"++_SimpleStatement_raise = Model.Name "raise"++_SimpleStatement_pass = Model.Name "pass"++_SimpleStatement_del = Model.Name "del"++_SimpleStatement_yield = Model.Name "yield"++_SimpleStatement_assert = Model.Name "assert"++_SimpleStatement_break = Model.Name "break"++_SimpleStatement_continue = Model.Name "continue"++_SimpleStatement_global = Model.Name "global"++_SimpleStatement_nonlocal = Model.Name "nonlocal"++data CompoundStatement =+  CompoundStatementFunction FunctionDefinition |+  CompoundStatementIf IfStatement |+  CompoundStatementClassDef ClassDefinition |+  CompoundStatementWith WithStatement |+  CompoundStatementFor ForStatement |+  CompoundStatementTry TryStatement |+  CompoundStatementWhile WhileStatement |+  CompoundStatementMatch MatchStatement+  deriving (Eq, Ord, Read, Show)++_CompoundStatement = Model.Name "hydra.python.syntax.CompoundStatement"++_CompoundStatement_function = Model.Name "function"++_CompoundStatement_if = Model.Name "if"++_CompoundStatement_classDef = Model.Name "classDef"++_CompoundStatement_with = Model.Name "with"++_CompoundStatement_for = Model.Name "for"++_CompoundStatement_try = Model.Name "try"++_CompoundStatement_while = Model.Name "while"++_CompoundStatement_match = Model.Name "match"++data Assignment =+  AssignmentTyped TypedAssignment |+  AssignmentUntyped UntypedAssignment |+  AssignmentAug AugAssignment+  deriving (Eq, Ord, Read, Show)++_Assignment = Model.Name "hydra.python.syntax.Assignment"++_Assignment_typed = Model.Name "typed"++_Assignment_untyped = Model.Name "untyped"++_Assignment_aug = Model.Name "aug"++data TypedAssignment =+  TypedAssignment {+    typedAssignmentLhs :: SingleTarget,+    typedAssignmentType :: Expression,+    typedAssignmentRhs :: (Maybe AnnotatedRhs)}+  deriving (Eq, Ord, Read, Show)++_TypedAssignment = Model.Name "hydra.python.syntax.TypedAssignment"++_TypedAssignment_lhs = Model.Name "lhs"++_TypedAssignment_type = Model.Name "type"++_TypedAssignment_rhs = Model.Name "rhs"++data UntypedAssignment =+  UntypedAssignment {+    untypedAssignmentTargets :: [StarTarget],+    untypedAssignmentRhs :: AnnotatedRhs,+    untypedAssignmentTypeComment :: (Maybe TypeComment)}+  deriving (Eq, Ord, Read, Show)++_UntypedAssignment = Model.Name "hydra.python.syntax.UntypedAssignment"++_UntypedAssignment_targets = Model.Name "targets"++_UntypedAssignment_rhs = Model.Name "rhs"++_UntypedAssignment_typeComment = Model.Name "typeComment"++data AugAssignment =+  AugAssignment {+    augAssignmentLhs :: SingleTarget,+    augAssignmentAugassign :: AugAssign,+    augAssignmentRhs :: AnnotatedRhs}+  deriving (Eq, Ord, Read, Show)++_AugAssignment = Model.Name "hydra.python.syntax.AugAssignment"++_AugAssignment_lhs = Model.Name "lhs"++_AugAssignment_augassign = Model.Name "augassign"++_AugAssignment_rhs = Model.Name "rhs"++data AnnotatedRhs =+  AnnotatedRhsYield YieldExpression |+  AnnotatedRhsStar [StarExpression]+  deriving (Eq, Ord, Read, Show)++_AnnotatedRhs = Model.Name "hydra.python.syntax.AnnotatedRhs"++_AnnotatedRhs_yield = Model.Name "yield"++_AnnotatedRhs_star = Model.Name "star"++data AugAssign =+  AugAssignPlusEqual |+  AugAssignMinusEqual |+  AugAssignTimesEqual |+  AugAssignAtEqual |+  AugAssignSlashEqual |+  AugAssignPercentEqual |+  AugAssignAmpersandEqual |+  AugAssignBarEqual |+  AugAssignCaretEqual |+  AugAssignLeftShiftEqual |+  AugAssignRightShiftEqual |+  AugAssignStarStarEqual |+  AugAssignDoubleSlashEqual+  deriving (Eq, Ord, Read, Show)++_AugAssign = Model.Name "hydra.python.syntax.AugAssign"++_AugAssign_plusEqual = Model.Name "plusEqual"++_AugAssign_minusEqual = Model.Name "minusEqual"++_AugAssign_timesEqual = Model.Name "timesEqual"++_AugAssign_atEqual = Model.Name "atEqual"++_AugAssign_slashEqual = Model.Name "slashEqual"++_AugAssign_percentEqual = Model.Name "percentEqual"++_AugAssign_ampersandEqual = Model.Name "ampersandEqual"++_AugAssign_barEqual = Model.Name "barEqual"++_AugAssign_caretEqual = Model.Name "caretEqual"++_AugAssign_leftShiftEqual = Model.Name "leftShiftEqual"++_AugAssign_rightShiftEqual = Model.Name "rightShiftEqual"++_AugAssign_starStarEqual = Model.Name "starStarEqual"++_AugAssign_doubleSlashEqual = Model.Name "doubleSlashEqual"++newtype ReturnStatement =+  ReturnStatement {+    unReturnStatement :: [StarExpression]}+  deriving (Eq, Ord, Read, Show)++_ReturnStatement = Model.Name "hydra.python.syntax.ReturnStatement"++newtype RaiseStatement =+  RaiseStatement {+    unRaiseStatement :: (Maybe RaiseExpression)}+  deriving (Eq, Ord, Read, Show)++_RaiseStatement = Model.Name "hydra.python.syntax.RaiseStatement"++data RaiseExpression =+  RaiseExpression {+    raiseExpressionExpression :: Expression,+    raiseExpressionFrom :: (Maybe Expression)}+  deriving (Eq, Ord, Read, Show)++_RaiseExpression = Model.Name "hydra.python.syntax.RaiseExpression"++_RaiseExpression_expression = Model.Name "expression"++_RaiseExpression_from = Model.Name "from"++newtype DelStatement =+  DelStatement {+    unDelStatement :: DelTargets}+  deriving (Eq, Ord, Read, Show)++_DelStatement = Model.Name "hydra.python.syntax.DelStatement"++newtype YieldStatement =+  YieldStatement {+    unYieldStatement :: YieldExpression}+  deriving (Eq, Ord, Read, Show)++_YieldStatement = Model.Name "hydra.python.syntax.YieldStatement"++data AssertStatement =+  AssertStatement {+    assertStatementExpression1 :: Expression,+    assertStatementExpression2 :: (Maybe Expression)}+  deriving (Eq, Ord, Read, Show)++_AssertStatement = Model.Name "hydra.python.syntax.AssertStatement"++_AssertStatement_expression1 = Model.Name "expression1"++_AssertStatement_expression2 = Model.Name "expression2"++data ImportStatement =+  ImportStatementName ImportName |+  ImportStatementFrom ImportFrom+  deriving (Eq, Ord, Read, Show)++_ImportStatement = Model.Name "hydra.python.syntax.ImportStatement"++_ImportStatement_name = Model.Name "name"++_ImportStatement_from = Model.Name "from"++newtype ImportName =+  ImportName {+    unImportName :: [DottedAsName]}+  deriving (Eq, Ord, Read, Show)++_ImportName = Model.Name "hydra.python.syntax.ImportName"++data ImportFrom =+  ImportFrom {+    importFromPrefixes :: [RelativeImportPrefix],+    importFromDottedName :: (Maybe DottedName),+    importFromTargets :: ImportFromTargets}+  deriving (Eq, Ord, Read, Show)++_ImportFrom = Model.Name "hydra.python.syntax.ImportFrom"++_ImportFrom_prefixes = Model.Name "prefixes"++_ImportFrom_dottedName = Model.Name "dottedName"++_ImportFrom_targets = Model.Name "targets"++data RelativeImportPrefix =+  RelativeImportPrefixDot |+  RelativeImportPrefixEllipsis+  deriving (Eq, Ord, Read, Show)++_RelativeImportPrefix = Model.Name "hydra.python.syntax.RelativeImportPrefix"++_RelativeImportPrefix_dot = Model.Name "dot"++_RelativeImportPrefix_ellipsis = Model.Name "ellipsis"++data ImportFromTargets =+  ImportFromTargetsSimple [ImportFromAsName] |+  ImportFromTargetsParens [ImportFromAsName] |+  ImportFromTargetsStar+  deriving (Eq, Ord, Read, Show)++_ImportFromTargets = Model.Name "hydra.python.syntax.ImportFromTargets"++_ImportFromTargets_simple = Model.Name "simple"++_ImportFromTargets_parens = Model.Name "parens"++_ImportFromTargets_star = Model.Name "star"++data ImportFromAsName =+  ImportFromAsName {+    importFromAsNameName :: Name,+    importFromAsNameAs :: (Maybe Name)}+  deriving (Eq, Ord, Read, Show)++_ImportFromAsName = Model.Name "hydra.python.syntax.ImportFromAsName"++_ImportFromAsName_name = Model.Name "name"++_ImportFromAsName_as = Model.Name "as"++data DottedAsName =+  DottedAsName {+    dottedAsNameName :: DottedName,+    dottedAsNameAs :: (Maybe Name)}+  deriving (Eq, Ord, Read, Show)++_DottedAsName = Model.Name "hydra.python.syntax.DottedAsName"++_DottedAsName_name = Model.Name "name"++_DottedAsName_as = Model.Name "as"++newtype DottedName =+  DottedName {+    unDottedName :: [Name]}+  deriving (Eq, Ord, Read, Show)++_DottedName = Model.Name "hydra.python.syntax.DottedName"++data Block =+  BlockIndented [[Statement]] |+  BlockSimple [SimpleStatement]+  deriving (Eq, Ord, Read, Show)++_Block = Model.Name "hydra.python.syntax.Block"++_Block_indented = Model.Name "indented"++_Block_simple = Model.Name "simple"++newtype Decorators =+  Decorators {+    unDecorators :: [NamedExpression]}+  deriving (Eq, Ord, Read, Show)++_Decorators = Model.Name "hydra.python.syntax.Decorators"++data ClassDefinition =+  ClassDefinition {+    classDefinitionDecorators :: (Maybe Decorators),+    classDefinitionName :: Name,+    classDefinitionTypeParams :: [TypeParameter],+    classDefinitionArguments :: (Maybe Args),+    classDefinitionBody :: Block}+  deriving (Eq, Ord, Read, Show)++_ClassDefinition = Model.Name "hydra.python.syntax.ClassDefinition"++_ClassDefinition_decorators = Model.Name "decorators"++_ClassDefinition_name = Model.Name "name"++_ClassDefinition_typeParams = Model.Name "typeParams"++_ClassDefinition_arguments = Model.Name "arguments"++_ClassDefinition_body = Model.Name "body"++data FunctionDefinition =+  FunctionDefinition {+    functionDefinitionDecorators :: (Maybe Decorators),+    functionDefinitionRaw :: FunctionDefRaw}+  deriving (Eq, Ord, Read, Show)++_FunctionDefinition = Model.Name "hydra.python.syntax.FunctionDefinition"++_FunctionDefinition_decorators = Model.Name "decorators"++_FunctionDefinition_raw = Model.Name "raw"++data FunctionDefRaw =+  FunctionDefRaw {+    functionDefRawAsync :: Bool,+    functionDefRawName :: Name,+    functionDefRawTypeParams :: [TypeParameter],+    functionDefRawParams :: (Maybe Parameters),+    functionDefRawReturnType :: (Maybe Expression),+    functionDefRawFuncTypeComment :: (Maybe FuncTypeComment),+    functionDefRawBlock :: Block}+  deriving (Eq, Ord, Read, Show)++_FunctionDefRaw = Model.Name "hydra.python.syntax.FunctionDefRaw"++_FunctionDefRaw_async = Model.Name "async"++_FunctionDefRaw_name = Model.Name "name"++_FunctionDefRaw_typeParams = Model.Name "typeParams"++_FunctionDefRaw_params = Model.Name "params"++_FunctionDefRaw_returnType = Model.Name "returnType"++_FunctionDefRaw_funcTypeComment = Model.Name "funcTypeComment"++_FunctionDefRaw_block = Model.Name "block"++data Parameters =+  ParametersSlashNoDefault SlashNoDefaultParameters |+  ParametersSlashWithDefault SlashWithDefaultParameters |+  ParametersParamNoDefault ParamNoDefaultParameters |+  ParametersParamWithDefault ParamWithDefaultParameters |+  ParametersStarEtc StarEtc+  deriving (Eq, Ord, Read, Show)++_Parameters = Model.Name "hydra.python.syntax.Parameters"++_Parameters_slashNoDefault = Model.Name "slashNoDefault"++_Parameters_slashWithDefault = Model.Name "slashWithDefault"++_Parameters_paramNoDefault = Model.Name "paramNoDefault"++_Parameters_paramWithDefault = Model.Name "paramWithDefault"++_Parameters_starEtc = Model.Name "starEtc"++data SlashNoDefaultParameters =+  SlashNoDefaultParameters {+    slashNoDefaultParametersSlash :: SlashNoDefault,+    slashNoDefaultParametersParamNoDefault :: [ParamNoDefault],+    slashNoDefaultParametersParamWithDefault :: [ParamWithDefault],+    slashNoDefaultParametersStarEtc :: (Maybe StarEtc)}+  deriving (Eq, Ord, Read, Show)++_SlashNoDefaultParameters = Model.Name "hydra.python.syntax.SlashNoDefaultParameters"++_SlashNoDefaultParameters_slash = Model.Name "slash"++_SlashNoDefaultParameters_paramNoDefault = Model.Name "paramNoDefault"++_SlashNoDefaultParameters_paramWithDefault = Model.Name "paramWithDefault"++_SlashNoDefaultParameters_starEtc = Model.Name "starEtc"++data SlashWithDefaultParameters =+  SlashWithDefaultParameters {+    slashWithDefaultParametersParamNoDefault :: [ParamNoDefault],+    slashWithDefaultParametersParamWithDefault :: [ParamWithDefault],+    slashWithDefaultParametersStarEtc :: (Maybe StarEtc)}+  deriving (Eq, Ord, Read, Show)++_SlashWithDefaultParameters = Model.Name "hydra.python.syntax.SlashWithDefaultParameters"++_SlashWithDefaultParameters_paramNoDefault = Model.Name "paramNoDefault"++_SlashWithDefaultParameters_paramWithDefault = Model.Name "paramWithDefault"++_SlashWithDefaultParameters_starEtc = Model.Name "starEtc"++data ParamNoDefaultParameters =+  ParamNoDefaultParameters {+    paramNoDefaultParametersParamNoDefault :: [ParamNoDefault],+    paramNoDefaultParametersParamWithDefault :: [ParamWithDefault],+    paramNoDefaultParametersStarEtc :: (Maybe StarEtc)}+  deriving (Eq, Ord, Read, Show)++_ParamNoDefaultParameters = Model.Name "hydra.python.syntax.ParamNoDefaultParameters"++_ParamNoDefaultParameters_paramNoDefault = Model.Name "paramNoDefault"++_ParamNoDefaultParameters_paramWithDefault = Model.Name "paramWithDefault"++_ParamNoDefaultParameters_starEtc = Model.Name "starEtc"++data ParamWithDefaultParameters =+  ParamWithDefaultParameters {+    paramWithDefaultParametersParamWithDefault :: [ParamWithDefault],+    paramWithDefaultParametersStarEtc :: (Maybe StarEtc)}+  deriving (Eq, Ord, Read, Show)++_ParamWithDefaultParameters = Model.Name "hydra.python.syntax.ParamWithDefaultParameters"++_ParamWithDefaultParameters_paramWithDefault = Model.Name "paramWithDefault"++_ParamWithDefaultParameters_starEtc = Model.Name "starEtc"++newtype SlashNoDefault =+  SlashNoDefault {+    unSlashNoDefault :: [ParamNoDefault]}+  deriving (Eq, Ord, Read, Show)++_SlashNoDefault = Model.Name "hydra.python.syntax.SlashNoDefault"++data SlashWithDefault =+  SlashWithDefault {+    slashWithDefaultParamNoDefault :: [ParamNoDefault],+    slashWithDefaultParamWithDefault :: [ParamWithDefault]}+  deriving (Eq, Ord, Read, Show)++_SlashWithDefault = Model.Name "hydra.python.syntax.SlashWithDefault"++_SlashWithDefault_paramNoDefault = Model.Name "paramNoDefault"++_SlashWithDefault_paramWithDefault = Model.Name "paramWithDefault"++data StarEtc =+  StarEtcStarNoDefault NoDefaultStarEtc |+  StarEtcStarNoDefaultStarAnnotation NoDefaultStarAnnotationStarEtc |+  StarEtcStarComma CommaStarEtc |+  StarEtcKeywords Keywords+  deriving (Eq, Ord, Read, Show)++_StarEtc = Model.Name "hydra.python.syntax.StarEtc"++_StarEtc_starNoDefault = Model.Name "starNoDefault"++_StarEtc_starNoDefaultStarAnnotation = Model.Name "starNoDefaultStarAnnotation"++_StarEtc_starComma = Model.Name "starComma"++_StarEtc_keywords = Model.Name "keywords"++data NoDefaultStarEtc =+  NoDefaultStarEtc {+    noDefaultStarEtcParamNoDefault :: ParamNoDefault,+    noDefaultStarEtcParamMaybeDefault :: [ParamMaybeDefault],+    noDefaultStarEtcKeywords :: (Maybe Keywords)}+  deriving (Eq, Ord, Read, Show)++_NoDefaultStarEtc = Model.Name "hydra.python.syntax.NoDefaultStarEtc"++_NoDefaultStarEtc_paramNoDefault = Model.Name "paramNoDefault"++_NoDefaultStarEtc_paramMaybeDefault = Model.Name "paramMaybeDefault"++_NoDefaultStarEtc_keywords = Model.Name "keywords"++data NoDefaultStarAnnotationStarEtc =+  NoDefaultStarAnnotationStarEtc {+    noDefaultStarAnnotationStarEtcParamNoDefaultStarAnnotation :: ParamNoDefaultStarAnnotation,+    noDefaultStarAnnotationStarEtcParamMaybeDefault :: [ParamMaybeDefault],+    noDefaultStarAnnotationStarEtcKeywords :: (Maybe Keywords)}+  deriving (Eq, Ord, Read, Show)++_NoDefaultStarAnnotationStarEtc = Model.Name "hydra.python.syntax.NoDefaultStarAnnotationStarEtc"++_NoDefaultStarAnnotationStarEtc_paramNoDefaultStarAnnotation = Model.Name "paramNoDefaultStarAnnotation"++_NoDefaultStarAnnotationStarEtc_paramMaybeDefault = Model.Name "paramMaybeDefault"++_NoDefaultStarAnnotationStarEtc_keywords = Model.Name "keywords"++data CommaStarEtc =+  CommaStarEtc {+    commaStarEtcParamMaybeDefault :: [ParamMaybeDefault],+    commaStarEtcKeywords :: (Maybe Keywords)}+  deriving (Eq, Ord, Read, Show)++_CommaStarEtc = Model.Name "hydra.python.syntax.CommaStarEtc"++_CommaStarEtc_paramMaybeDefault = Model.Name "paramMaybeDefault"++_CommaStarEtc_keywords = Model.Name "keywords"++newtype Keywords =+  Keywords {+    unKeywords :: ParamNoDefault}+  deriving (Eq, Ord, Read, Show)++_Keywords = Model.Name "hydra.python.syntax.Keywords"++data ParamNoDefault =+  ParamNoDefault {+    paramNoDefaultParam :: Param,+    paramNoDefaultTypeComment :: (Maybe TypeComment)}+  deriving (Eq, Ord, Read, Show)++_ParamNoDefault = Model.Name "hydra.python.syntax.ParamNoDefault"++_ParamNoDefault_param = Model.Name "param"++_ParamNoDefault_typeComment = Model.Name "typeComment"++data ParamNoDefaultStarAnnotation =+  ParamNoDefaultStarAnnotation {+    paramNoDefaultStarAnnotationParamStarAnnotation :: ParamStarAnnotation,+    paramNoDefaultStarAnnotationTypeComment :: (Maybe TypeComment)}+  deriving (Eq, Ord, Read, Show)++_ParamNoDefaultStarAnnotation = Model.Name "hydra.python.syntax.ParamNoDefaultStarAnnotation"++_ParamNoDefaultStarAnnotation_paramStarAnnotation = Model.Name "paramStarAnnotation"++_ParamNoDefaultStarAnnotation_typeComment = Model.Name "typeComment"++data ParamWithDefault =+  ParamWithDefault {+    paramWithDefaultParam :: Param,+    paramWithDefaultDefault :: Default,+    paramWithDefaultTypeComment :: (Maybe TypeComment)}+  deriving (Eq, Ord, Read, Show)++_ParamWithDefault = Model.Name "hydra.python.syntax.ParamWithDefault"++_ParamWithDefault_param = Model.Name "param"++_ParamWithDefault_default = Model.Name "default"++_ParamWithDefault_typeComment = Model.Name "typeComment"++data ParamMaybeDefault =+  ParamMaybeDefault {+    paramMaybeDefaultParam :: Param,+    paramMaybeDefaultDefault :: (Maybe Default),+    paramMaybeDefaultTypeComment :: (Maybe TypeComment)}+  deriving (Eq, Ord, Read, Show)++_ParamMaybeDefault = Model.Name "hydra.python.syntax.ParamMaybeDefault"++_ParamMaybeDefault_param = Model.Name "param"++_ParamMaybeDefault_default = Model.Name "default"++_ParamMaybeDefault_typeComment = Model.Name "typeComment"++data Param =+  Param {+    paramName :: Name,+    paramAnnotation :: (Maybe Annotation)}+  deriving (Eq, Ord, Read, Show)++_Param = Model.Name "hydra.python.syntax.Param"++_Param_name = Model.Name "name"++_Param_annotation = Model.Name "annotation"++data ParamStarAnnotation =+  ParamStarAnnotation {+    paramStarAnnotationName :: Name,+    paramStarAnnotationAnnotation :: StarAnnotation}+  deriving (Eq, Ord, Read, Show)++_ParamStarAnnotation = Model.Name "hydra.python.syntax.ParamStarAnnotation"++_ParamStarAnnotation_name = Model.Name "name"++_ParamStarAnnotation_annotation = Model.Name "annotation"++newtype Annotation =+  Annotation {+    unAnnotation :: Expression}+  deriving (Eq, Ord, Read, Show)++_Annotation = Model.Name "hydra.python.syntax.Annotation"++newtype StarAnnotation =+  StarAnnotation {+    unStarAnnotation :: StarExpression}+  deriving (Eq, Ord, Read, Show)++_StarAnnotation = Model.Name "hydra.python.syntax.StarAnnotation"++newtype Default =+  Default {+    unDefault :: Expression}+  deriving (Eq, Ord, Read, Show)++_Default = Model.Name "hydra.python.syntax.Default"++data IfStatement =+  IfStatement {+    ifStatementCondition :: NamedExpression,+    ifStatementBody :: Block,+    ifStatementContinuation :: (Maybe IfTail)}+  deriving (Eq, Ord, Read, Show)++_IfStatement = Model.Name "hydra.python.syntax.IfStatement"++_IfStatement_condition = Model.Name "condition"++_IfStatement_body = Model.Name "body"++_IfStatement_continuation = Model.Name "continuation"++data IfTail =+  IfTailElif IfStatement |+  IfTailElse Block+  deriving (Eq, Ord, Read, Show)++_IfTail = Model.Name "hydra.python.syntax.IfTail"++_IfTail_elif = Model.Name "elif"++_IfTail_else = Model.Name "else"++data WhileStatement =+  WhileStatement {+    whileStatementCondition :: NamedExpression,+    whileStatementBody :: Block,+    whileStatementElse :: (Maybe Block)}+  deriving (Eq, Ord, Read, Show)++_WhileStatement = Model.Name "hydra.python.syntax.WhileStatement"++_WhileStatement_condition = Model.Name "condition"++_WhileStatement_body = Model.Name "body"++_WhileStatement_else = Model.Name "else"++data ForStatement =+  ForStatement {+    forStatementAsync :: Bool,+    forStatementTargets :: [StarTarget],+    forStatementExpressions :: [StarExpression],+    forStatementTypeComment :: (Maybe TypeComment),+    forStatementBody :: Block,+    forStatementElse :: (Maybe Block)}+  deriving (Eq, Ord, Read, Show)++_ForStatement = Model.Name "hydra.python.syntax.ForStatement"++_ForStatement_async = Model.Name "async"++_ForStatement_targets = Model.Name "targets"++_ForStatement_expressions = Model.Name "expressions"++_ForStatement_typeComment = Model.Name "typeComment"++_ForStatement_body = Model.Name "body"++_ForStatement_else = Model.Name "else"++data WithStatement =+  WithStatement {+    withStatementAsync :: Bool,+    withStatementItems :: [WithItem],+    withStatementTypeComment :: (Maybe TypeComment),+    withStatementBody :: Block}+  deriving (Eq, Ord, Read, Show)++_WithStatement = Model.Name "hydra.python.syntax.WithStatement"++_WithStatement_async = Model.Name "async"++_WithStatement_items = Model.Name "items"++_WithStatement_typeComment = Model.Name "typeComment"++_WithStatement_body = Model.Name "body"++data WithItem =+  WithItem {+    withItemExpression :: Expression,+    withItemAs :: (Maybe StarTarget)}+  deriving (Eq, Ord, Read, Show)++_WithItem = Model.Name "hydra.python.syntax.WithItem"++_WithItem_expression = Model.Name "expression"++_WithItem_as = Model.Name "as"++data TryStatement =+  TryStatementFinally TryFinallyStatement |+  TryStatementExcept TryExceptStatement |+  TryStatementExceptStar TryExceptStarStatement+  deriving (Eq, Ord, Read, Show)++_TryStatement = Model.Name "hydra.python.syntax.TryStatement"++_TryStatement_finally = Model.Name "finally"++_TryStatement_except = Model.Name "except"++_TryStatement_exceptStar = Model.Name "exceptStar"++data TryFinallyStatement =+  TryFinallyStatement {+    tryFinallyStatementBody :: Block,+    tryFinallyStatementFinally :: Block}+  deriving (Eq, Ord, Read, Show)++_TryFinallyStatement = Model.Name "hydra.python.syntax.TryFinallyStatement"++_TryFinallyStatement_body = Model.Name "body"++_TryFinallyStatement_finally = Model.Name "finally"++data TryExceptStatement =+  TryExceptStatement {+    tryExceptStatementBody :: Block,+    tryExceptStatementExcepts :: [ExceptBlock],+    tryExceptStatementElse :: (Maybe Block),+    tryExceptStatementFinally :: (Maybe Block)}+  deriving (Eq, Ord, Read, Show)++_TryExceptStatement = Model.Name "hydra.python.syntax.TryExceptStatement"++_TryExceptStatement_body = Model.Name "body"++_TryExceptStatement_excepts = Model.Name "excepts"++_TryExceptStatement_else = Model.Name "else"++_TryExceptStatement_finally = Model.Name "finally"++data TryExceptStarStatement =+  TryExceptStarStatement {+    tryExceptStarStatementBody :: Block,+    tryExceptStarStatementExcepts :: [ExceptStarBlock],+    tryExceptStarStatementElse :: (Maybe Block),+    tryExceptStarStatementFinally :: (Maybe Block)}+  deriving (Eq, Ord, Read, Show)++_TryExceptStarStatement = Model.Name "hydra.python.syntax.TryExceptStarStatement"++_TryExceptStarStatement_body = Model.Name "body"++_TryExceptStarStatement_excepts = Model.Name "excepts"++_TryExceptStarStatement_else = Model.Name "else"++_TryExceptStarStatement_finally = Model.Name "finally"++data ExceptBlock =+  ExceptBlock {+    exceptBlockExpression :: (Maybe ExceptExpression),+    exceptBlockBody :: Block}+  deriving (Eq, Ord, Read, Show)++_ExceptBlock = Model.Name "hydra.python.syntax.ExceptBlock"++_ExceptBlock_expression = Model.Name "expression"++_ExceptBlock_body = Model.Name "body"++data ExceptExpression =+  ExceptExpression {+    exceptExpressionExpression :: Expression,+    exceptExpressionAs :: (Maybe Name)}+  deriving (Eq, Ord, Read, Show)++_ExceptExpression = Model.Name "hydra.python.syntax.ExceptExpression"++_ExceptExpression_expression = Model.Name "expression"++_ExceptExpression_as = Model.Name "as"++data ExceptStarBlock =+  ExceptStarBlock {+    exceptStarBlockExpression :: Expression,+    exceptStarBlockAs :: (Maybe Name),+    exceptStarBlockBody :: Block}+  deriving (Eq, Ord, Read, Show)++_ExceptStarBlock = Model.Name "hydra.python.syntax.ExceptStarBlock"++_ExceptStarBlock_expression = Model.Name "expression"++_ExceptStarBlock_as = Model.Name "as"++_ExceptStarBlock_body = Model.Name "body"++data MatchStatement =+  MatchStatement {+    matchStatementSubject :: SubjectExpression,+    matchStatementCases :: [CaseBlock]}+  deriving (Eq, Ord, Read, Show)++_MatchStatement = Model.Name "hydra.python.syntax.MatchStatement"++_MatchStatement_subject = Model.Name "subject"++_MatchStatement_cases = Model.Name "cases"++data SubjectExpression =+  SubjectExpressionTuple [StarNamedExpression] |+  SubjectExpressionSimple NamedExpression+  deriving (Eq, Ord, Read, Show)++_SubjectExpression = Model.Name "hydra.python.syntax.SubjectExpression"++_SubjectExpression_tuple = Model.Name "tuple"++_SubjectExpression_simple = Model.Name "simple"++data CaseBlock =+  CaseBlock {+    caseBlockPatterns :: Patterns,+    caseBlockGuard :: (Maybe Guard),+    caseBlockBody :: Block}+  deriving (Eq, Ord, Read, Show)++_CaseBlock = Model.Name "hydra.python.syntax.CaseBlock"++_CaseBlock_patterns = Model.Name "patterns"++_CaseBlock_guard = Model.Name "guard"++_CaseBlock_body = Model.Name "body"++newtype Guard =+  Guard {+    unGuard :: NamedExpression}+  deriving (Eq, Ord, Read, Show)++_Guard = Model.Name "hydra.python.syntax.Guard"++data Patterns =+  PatternsSequence OpenSequencePattern |+  PatternsPattern Pattern+  deriving (Eq, Ord, Read, Show)++_Patterns = Model.Name "hydra.python.syntax.Patterns"++_Patterns_sequence = Model.Name "sequence"++_Patterns_pattern = Model.Name "pattern"++data Pattern =+  PatternAs AsPattern |+  PatternOr OrPattern+  deriving (Eq, Ord, Read, Show)++_Pattern = Model.Name "hydra.python.syntax.Pattern"++_Pattern_as = Model.Name "as"++_Pattern_or = Model.Name "or"++data AsPattern =+  AsPattern {+    asPatternPattern :: OrPattern,+    asPatternAs :: PatternCaptureTarget}+  deriving (Eq, Ord, Read, Show)++_AsPattern = Model.Name "hydra.python.syntax.AsPattern"++_AsPattern_pattern = Model.Name "pattern"++_AsPattern_as = Model.Name "as"++newtype OrPattern =+  OrPattern {+    unOrPattern :: [ClosedPattern]}+  deriving (Eq, Ord, Read, Show)++_OrPattern = Model.Name "hydra.python.syntax.OrPattern"++data ClosedPattern =+  ClosedPatternLiteral LiteralExpression |+  ClosedPatternCapture CapturePattern |+  ClosedPatternWildcard |+  ClosedPatternValue ValuePattern |+  ClosedPatternGroup GroupPattern |+  ClosedPatternSequence SequencePattern |+  ClosedPatternMapping MappingPattern |+  ClosedPatternClass ClassPattern+  deriving (Eq, Ord, Read, Show)++_ClosedPattern = Model.Name "hydra.python.syntax.ClosedPattern"++_ClosedPattern_literal = Model.Name "literal"++_ClosedPattern_capture = Model.Name "capture"++_ClosedPattern_wildcard = Model.Name "wildcard"++_ClosedPattern_value = Model.Name "value"++_ClosedPattern_group = Model.Name "group"++_ClosedPattern_sequence = Model.Name "sequence"++_ClosedPattern_mapping = Model.Name "mapping"++_ClosedPattern_class = Model.Name "class"++data LiteralExpression =+  LiteralExpressionNumber SignedNumber |+  LiteralExpressionComplex ComplexNumber |+  LiteralExpressionString String_ |+  LiteralExpressionNone |+  LiteralExpressionTrue |+  LiteralExpressionFalse+  deriving (Eq, Ord, Read, Show)++_LiteralExpression = Model.Name "hydra.python.syntax.LiteralExpression"++_LiteralExpression_number = Model.Name "number"++_LiteralExpression_complex = Model.Name "complex"++_LiteralExpression_string = Model.Name "string"++_LiteralExpression_none = Model.Name "none"++_LiteralExpression_true = Model.Name "true"++_LiteralExpression_false = Model.Name "false"++data ComplexNumber =+  ComplexNumber {+    complexNumberReal :: SignedRealNumber,+    complexNumberPlusOrMinus :: PlusOrMinus,+    complexNumberImaginary :: ImaginaryNumber}+  deriving (Eq, Ord, Read, Show)++_ComplexNumber = Model.Name "hydra.python.syntax.ComplexNumber"++_ComplexNumber_real = Model.Name "real"++_ComplexNumber_plusOrMinus = Model.Name "plusOrMinus"++_ComplexNumber_imaginary = Model.Name "imaginary"++data PlusOrMinus =+  PlusOrMinusPlus |+  PlusOrMinusMinus+  deriving (Eq, Ord, Read, Show)++_PlusOrMinus = Model.Name "hydra.python.syntax.PlusOrMinus"++_PlusOrMinus_plus = Model.Name "plus"++_PlusOrMinus_minus = Model.Name "minus"++data SignedNumber =+  SignedNumberSign PlusOrMinus |+  SignedNumberNumber Number+  deriving (Eq, Ord, Read, Show)++_SignedNumber = Model.Name "hydra.python.syntax.SignedNumber"++_SignedNumber_sign = Model.Name "sign"++_SignedNumber_number = Model.Name "number"++data SignedRealNumber =+  SignedRealNumberSign PlusOrMinus |+  SignedRealNumberNumber RealNumber+  deriving (Eq, Ord, Read, Show)++_SignedRealNumber = Model.Name "hydra.python.syntax.SignedRealNumber"++_SignedRealNumber_sign = Model.Name "sign"++_SignedRealNumber_number = Model.Name "number"++data RealNumber =+  RealNumberInteger Integer |+  RealNumberFloat Double+  deriving (Eq, Ord, Read, Show)++_RealNumber = Model.Name "hydra.python.syntax.RealNumber"++_RealNumber_integer = Model.Name "integer"++_RealNumber_float = Model.Name "float"++newtype ImaginaryNumber =+  ImaginaryNumber {+    unImaginaryNumber :: Double}+  deriving (Eq, Ord, Read, Show)++_ImaginaryNumber = Model.Name "hydra.python.syntax.ImaginaryNumber"++newtype CapturePattern =+  CapturePattern {+    unCapturePattern :: PatternCaptureTarget}+  deriving (Eq, Ord, Read, Show)++_CapturePattern = Model.Name "hydra.python.syntax.CapturePattern"++newtype PatternCaptureTarget =+  PatternCaptureTarget {+    unPatternCaptureTarget :: Name}+  deriving (Eq, Ord, Read, Show)++_PatternCaptureTarget = Model.Name "hydra.python.syntax.PatternCaptureTarget"++newtype ValuePattern =+  ValuePattern {+    unValuePattern :: Attribute}+  deriving (Eq, Ord, Read, Show)++_ValuePattern = Model.Name "hydra.python.syntax.ValuePattern"++newtype Attribute =+  Attribute {+    unAttribute :: [Name]}+  deriving (Eq, Ord, Read, Show)++_Attribute = Model.Name "hydra.python.syntax.Attribute"++newtype NameOrAttribute =+  NameOrAttribute {+    unNameOrAttribute :: [Name]}+  deriving (Eq, Ord, Read, Show)++_NameOrAttribute = Model.Name "hydra.python.syntax.NameOrAttribute"++newtype GroupPattern =+  GroupPattern {+    unGroupPattern :: Pattern}+  deriving (Eq, Ord, Read, Show)++_GroupPattern = Model.Name "hydra.python.syntax.GroupPattern"++data SequencePattern =+  SequencePatternList (Maybe MaybeSequencePattern) |+  SequencePatternTuple (Maybe OpenSequencePattern)+  deriving (Eq, Ord, Read, Show)++_SequencePattern = Model.Name "hydra.python.syntax.SequencePattern"++_SequencePattern_list = Model.Name "list"++_SequencePattern_tuple = Model.Name "tuple"++data OpenSequencePattern =+  OpenSequencePattern {+    openSequencePatternHead :: MaybeStarPattern,+    openSequencePatternTail :: (Maybe MaybeSequencePattern)}+  deriving (Eq, Ord, Read, Show)++_OpenSequencePattern = Model.Name "hydra.python.syntax.OpenSequencePattern"++_OpenSequencePattern_head = Model.Name "head"++_OpenSequencePattern_tail = Model.Name "tail"++newtype MaybeSequencePattern =+  MaybeSequencePattern {+    unMaybeSequencePattern :: [MaybeStarPattern]}+  deriving (Eq, Ord, Read, Show)++_MaybeSequencePattern = Model.Name "hydra.python.syntax.MaybeSequencePattern"++data MaybeStarPattern =+  MaybeStarPatternStar StarPattern |+  MaybeStarPatternPattern Pattern+  deriving (Eq, Ord, Read, Show)++_MaybeStarPattern = Model.Name "hydra.python.syntax.MaybeStarPattern"++_MaybeStarPattern_star = Model.Name "star"++_MaybeStarPattern_pattern = Model.Name "pattern"++data StarPattern =+  StarPatternCapture PatternCaptureTarget |+  StarPatternWildcard+  deriving (Eq, Ord, Read, Show)++_StarPattern = Model.Name "hydra.python.syntax.StarPattern"++_StarPattern_capture = Model.Name "capture"++_StarPattern_wildcard = Model.Name "wildcard"++data MappingPattern =+  MappingPattern {+    mappingPatternItems :: (Maybe ItemsPattern),+    mappingPatternDoubleStar :: (Maybe DoubleStarPattern)}+  deriving (Eq, Ord, Read, Show)++_MappingPattern = Model.Name "hydra.python.syntax.MappingPattern"++_MappingPattern_items = Model.Name "items"++_MappingPattern_doubleStar = Model.Name "doubleStar"++newtype ItemsPattern =+  ItemsPattern {+    unItemsPattern :: [KeyValuePattern]}+  deriving (Eq, Ord, Read, Show)++_ItemsPattern = Model.Name "hydra.python.syntax.ItemsPattern"++data KeyValuePattern =+  KeyValuePattern {+    keyValuePatternKey :: LiteralExpressionOrAttribute,+    keyValuePatternValue :: Pattern}+  deriving (Eq, Ord, Read, Show)++_KeyValuePattern = Model.Name "hydra.python.syntax.KeyValuePattern"++_KeyValuePattern_key = Model.Name "key"++_KeyValuePattern_value = Model.Name "value"++data LiteralExpressionOrAttribute =+  LiteralExpressionOrAttributeLiteral LiteralExpression |+  LiteralExpressionOrAttributeAttribute Attribute+  deriving (Eq, Ord, Read, Show)++_LiteralExpressionOrAttribute = Model.Name "hydra.python.syntax.LiteralExpressionOrAttribute"++_LiteralExpressionOrAttribute_literal = Model.Name "literal"++_LiteralExpressionOrAttribute_attribute = Model.Name "attribute"++newtype DoubleStarPattern =+  DoubleStarPattern {+    unDoubleStarPattern :: PatternCaptureTarget}+  deriving (Eq, Ord, Read, Show)++_DoubleStarPattern = Model.Name "hydra.python.syntax.DoubleStarPattern"++data ClassPattern =+  ClassPattern {+    classPatternNameOrAttribute :: NameOrAttribute,+    classPatternPositionalPatterns :: (Maybe PositionalPatterns),+    classPatternKeywordPatterns :: (Maybe KeywordPatterns)}+  deriving (Eq, Ord, Read, Show)++_ClassPattern = Model.Name "hydra.python.syntax.ClassPattern"++_ClassPattern_nameOrAttribute = Model.Name "nameOrAttribute"++_ClassPattern_positionalPatterns = Model.Name "positionalPatterns"++_ClassPattern_keywordPatterns = Model.Name "keywordPatterns"++newtype PositionalPatterns =+  PositionalPatterns {+    unPositionalPatterns :: [Pattern]}+  deriving (Eq, Ord, Read, Show)++_PositionalPatterns = Model.Name "hydra.python.syntax.PositionalPatterns"++newtype KeywordPatterns =+  KeywordPatterns {+    unKeywordPatterns :: [KeywordPattern]}+  deriving (Eq, Ord, Read, Show)++_KeywordPatterns = Model.Name "hydra.python.syntax.KeywordPatterns"++data KeywordPattern =+  KeywordPattern {+    keywordPatternName :: Name,+    keywordPatternPattern :: Pattern}+  deriving (Eq, Ord, Read, Show)++_KeywordPattern = Model.Name "hydra.python.syntax.KeywordPattern"++_KeywordPattern_name = Model.Name "name"++_KeywordPattern_pattern = Model.Name "pattern"++data TypeAlias =+  TypeAlias {+    typeAliasName :: Name,+    typeAliasTypeParams :: [TypeParameter],+    typeAliasExpression :: Expression}+  deriving (Eq, Ord, Read, Show)++_TypeAlias = Model.Name "hydra.python.syntax.TypeAlias"++_TypeAlias_name = Model.Name "name"++_TypeAlias_typeParams = Model.Name "typeParams"++_TypeAlias_expression = Model.Name "expression"++data TypeParameter =+  TypeParameterSimple SimpleTypeParameter |+  TypeParameterStar StarTypeParameter |+  TypeParameterDoubleStar DoubleStarTypeParameter+  deriving (Eq, Ord, Read, Show)++_TypeParameter = Model.Name "hydra.python.syntax.TypeParameter"++_TypeParameter_simple = Model.Name "simple"++_TypeParameter_star = Model.Name "star"++_TypeParameter_doubleStar = Model.Name "doubleStar"++data SimpleTypeParameter =+  SimpleTypeParameter {+    simpleTypeParameterName :: Name,+    simpleTypeParameterBound :: (Maybe Expression),+    simpleTypeParameterDefault :: (Maybe Expression)}+  deriving (Eq, Ord, Read, Show)++_SimpleTypeParameter = Model.Name "hydra.python.syntax.SimpleTypeParameter"++_SimpleTypeParameter_name = Model.Name "name"++_SimpleTypeParameter_bound = Model.Name "bound"++_SimpleTypeParameter_default = Model.Name "default"++data StarTypeParameter =+  StarTypeParameter {+    starTypeParameterName :: Name,+    starTypeParameterDefault :: (Maybe StarExpression)}+  deriving (Eq, Ord, Read, Show)++_StarTypeParameter = Model.Name "hydra.python.syntax.StarTypeParameter"++_StarTypeParameter_name = Model.Name "name"++_StarTypeParameter_default = Model.Name "default"++data DoubleStarTypeParameter =+  DoubleStarTypeParameter {+    doubleStarTypeParameterName :: Name,+    doubleStarTypeParameterDefault :: (Maybe Expression)}+  deriving (Eq, Ord, Read, Show)++_DoubleStarTypeParameter = Model.Name "hydra.python.syntax.DoubleStarTypeParameter"++_DoubleStarTypeParameter_name = Model.Name "name"++_DoubleStarTypeParameter_default = Model.Name "default"++data Expression =+  ExpressionConditional Conditional |+  ExpressionSimple Disjunction |+  ExpressionLambda Lambda+  deriving (Eq, Ord, Read, Show)++_Expression = Model.Name "hydra.python.syntax.Expression"++_Expression_conditional = Model.Name "conditional"++_Expression_simple = Model.Name "simple"++_Expression_lambda = Model.Name "lambda"++data Conditional =+  Conditional {+    conditionalBody :: Disjunction,+    conditionalIf :: Disjunction,+    conditionalElse :: Expression}+  deriving (Eq, Ord, Read, Show)++_Conditional = Model.Name "hydra.python.syntax.Conditional"++_Conditional_body = Model.Name "body"++_Conditional_if = Model.Name "if"++_Conditional_else = Model.Name "else"++data YieldExpression =+  YieldExpressionFrom Expression |+  YieldExpressionSimple [StarExpression]+  deriving (Eq, Ord, Read, Show)++_YieldExpression = Model.Name "hydra.python.syntax.YieldExpression"++_YieldExpression_from = Model.Name "from"++_YieldExpression_simple = Model.Name "simple"++data StarExpression =+  StarExpressionStar BitwiseOr |+  StarExpressionSimple Expression+  deriving (Eq, Ord, Read, Show)++_StarExpression = Model.Name "hydra.python.syntax.StarExpression"++_StarExpression_star = Model.Name "star"++_StarExpression_simple = Model.Name "simple"++newtype StarNamedExpressions =+  StarNamedExpressions {+    unStarNamedExpressions :: [StarNamedExpression]}+  deriving (Eq, Ord, Read, Show)++_StarNamedExpressions = Model.Name "hydra.python.syntax.StarNamedExpressions"++data StarNamedExpression =+  StarNamedExpressionStar BitwiseOr |+  StarNamedExpressionSimple NamedExpression+  deriving (Eq, Ord, Read, Show)++_StarNamedExpression = Model.Name "hydra.python.syntax.StarNamedExpression"++_StarNamedExpression_star = Model.Name "star"++_StarNamedExpression_simple = Model.Name "simple"++data AssignmentExpression =+  AssignmentExpression {+    assignmentExpressionName :: Name,+    assignmentExpressionExpression :: Expression}+  deriving (Eq, Ord, Read, Show)++_AssignmentExpression = Model.Name "hydra.python.syntax.AssignmentExpression"++_AssignmentExpression_name = Model.Name "name"++_AssignmentExpression_expression = Model.Name "expression"++data NamedExpression =+  NamedExpressionAssignment AssignmentExpression |+  NamedExpressionSimple Expression+  deriving (Eq, Ord, Read, Show)++_NamedExpression = Model.Name "hydra.python.syntax.NamedExpression"++_NamedExpression_assignment = Model.Name "assignment"++_NamedExpression_simple = Model.Name "simple"++newtype Disjunction =+  Disjunction {+    unDisjunction :: [Conjunction]}+  deriving (Eq, Ord, Read, Show)++_Disjunction = Model.Name "hydra.python.syntax.Disjunction"++newtype Conjunction =+  Conjunction {+    unConjunction :: [Inversion]}+  deriving (Eq, Ord, Read, Show)++_Conjunction = Model.Name "hydra.python.syntax.Conjunction"++data Inversion =+  InversionNot Inversion |+  InversionSimple Comparison+  deriving (Eq, Ord, Read, Show)++_Inversion = Model.Name "hydra.python.syntax.Inversion"++_Inversion_not = Model.Name "not"++_Inversion_simple = Model.Name "simple"++data Comparison =+  Comparison {+    comparisonLhs :: BitwiseOr,+    comparisonRhs :: [CompareOpBitwiseOrPair]}+  deriving (Eq, Ord, Read, Show)++_Comparison = Model.Name "hydra.python.syntax.Comparison"++_Comparison_lhs = Model.Name "lhs"++_Comparison_rhs = Model.Name "rhs"++data CompareOpBitwiseOrPair =+  CompareOpBitwiseOrPair {+    compareOpBitwiseOrPairOperator :: CompareOp,+    compareOpBitwiseOrPairRhs :: BitwiseOr}+  deriving (Eq, Ord, Read, Show)++_CompareOpBitwiseOrPair = Model.Name "hydra.python.syntax.CompareOpBitwiseOrPair"++_CompareOpBitwiseOrPair_operator = Model.Name "operator"++_CompareOpBitwiseOrPair_rhs = Model.Name "rhs"++data CompareOp =+  CompareOpEq |+  CompareOpNoteq |+  CompareOpLte |+  CompareOpLt |+  CompareOpGte |+  CompareOpGt |+  CompareOpNotin |+  CompareOpIn |+  CompareOpIsnot |+  CompareOpIs+  deriving (Eq, Ord, Read, Show)++_CompareOp = Model.Name "hydra.python.syntax.CompareOp"++_CompareOp_eq = Model.Name "eq"++_CompareOp_noteq = Model.Name "noteq"++_CompareOp_lte = Model.Name "lte"++_CompareOp_lt = Model.Name "lt"++_CompareOp_gte = Model.Name "gte"++_CompareOp_gt = Model.Name "gt"++_CompareOp_notin = Model.Name "notin"++_CompareOp_in = Model.Name "in"++_CompareOp_isnot = Model.Name "isnot"++_CompareOp_is = Model.Name "is"++data BitwiseOr =+  BitwiseOr {+    bitwiseOrLhs :: (Maybe BitwiseOr),+    bitwiseOrRhs :: BitwiseXor}+  deriving (Eq, Ord, Read, Show)++_BitwiseOr = Model.Name "hydra.python.syntax.BitwiseOr"++_BitwiseOr_lhs = Model.Name "lhs"++_BitwiseOr_rhs = Model.Name "rhs"++data BitwiseXor =+  BitwiseXor {+    bitwiseXorLhs :: (Maybe BitwiseXor),+    bitwiseXorRhs :: BitwiseAnd}+  deriving (Eq, Ord, Read, Show)++_BitwiseXor = Model.Name "hydra.python.syntax.BitwiseXor"++_BitwiseXor_lhs = Model.Name "lhs"++_BitwiseXor_rhs = Model.Name "rhs"++data BitwiseAnd =+  BitwiseAnd {+    bitwiseAndLhs :: (Maybe BitwiseAnd),+    bitwiseAndRhs :: ShiftExpression}+  deriving (Eq, Ord, Read, Show)++_BitwiseAnd = Model.Name "hydra.python.syntax.BitwiseAnd"++_BitwiseAnd_lhs = Model.Name "lhs"++_BitwiseAnd_rhs = Model.Name "rhs"++data ShiftExpression =+  ShiftExpression {+    shiftExpressionLhs :: (Maybe ShiftLhs),+    shiftExpressionRhs :: Sum}+  deriving (Eq, Ord, Read, Show)++_ShiftExpression = Model.Name "hydra.python.syntax.ShiftExpression"++_ShiftExpression_lhs = Model.Name "lhs"++_ShiftExpression_rhs = Model.Name "rhs"++data ShiftLhs =+  ShiftLhs {+    shiftLhsOperand :: ShiftExpression,+    shiftLhsOperator :: ShiftOp}+  deriving (Eq, Ord, Read, Show)++_ShiftLhs = Model.Name "hydra.python.syntax.ShiftLhs"++_ShiftLhs_operand = Model.Name "operand"++_ShiftLhs_operator = Model.Name "operator"++data ShiftOp =+  ShiftOpLeft |+  ShiftOpRight+  deriving (Eq, Ord, Read, Show)++_ShiftOp = Model.Name "hydra.python.syntax.ShiftOp"++_ShiftOp_left = Model.Name "left"++_ShiftOp_right = Model.Name "right"++data Sum =+  Sum {+    sumLhs :: (Maybe SumLhs),+    sumRhs :: Term}+  deriving (Eq, Ord, Read, Show)++_Sum = Model.Name "hydra.python.syntax.Sum"++_Sum_lhs = Model.Name "lhs"++_Sum_rhs = Model.Name "rhs"++data SumLhs =+  SumLhs {+    sumLhsOperand :: Sum,+    sumLhsOperator :: SumOp}+  deriving (Eq, Ord, Read, Show)++_SumLhs = Model.Name "hydra.python.syntax.SumLhs"++_SumLhs_operand = Model.Name "operand"++_SumLhs_operator = Model.Name "operator"++data SumOp =+  SumOpAdd |+  SumOpSub+  deriving (Eq, Ord, Read, Show)++_SumOp = Model.Name "hydra.python.syntax.SumOp"++_SumOp_add = Model.Name "add"++_SumOp_sub = Model.Name "sub"++data Term =+  Term {+    termLhs :: (Maybe TermLhs),+    termRhs :: Factor}+  deriving (Eq, Ord, Read, Show)++_Term = Model.Name "hydra.python.syntax.Term"++_Term_lhs = Model.Name "lhs"++_Term_rhs = Model.Name "rhs"++data TermLhs =+  TermLhs {+    termLhsOperand :: Term,+    termLhsOperator :: TermOp}+  deriving (Eq, Ord, Read, Show)++_TermLhs = Model.Name "hydra.python.syntax.TermLhs"++_TermLhs_operand = Model.Name "operand"++_TermLhs_operator = Model.Name "operator"++data TermOp =+  TermOpMul |+  TermOpDiv |+  TermOpFloordiv |+  TermOpMod |+  TermOpMatmul+  deriving (Eq, Ord, Read, Show)++_TermOp = Model.Name "hydra.python.syntax.TermOp"++_TermOp_mul = Model.Name "mul"++_TermOp_div = Model.Name "div"++_TermOp_floordiv = Model.Name "floordiv"++_TermOp_mod = Model.Name "mod"++_TermOp_matmul = Model.Name "matmul"++data Factor =+  FactorPositive Factor |+  FactorNegative Factor |+  FactorComplement Factor |+  FactorSimple Power+  deriving (Eq, Ord, Read, Show)++_Factor = Model.Name "hydra.python.syntax.Factor"++_Factor_positive = Model.Name "positive"++_Factor_negative = Model.Name "negative"++_Factor_complement = Model.Name "complement"++_Factor_simple = Model.Name "simple"++data Power =+  Power {+    powerLhs :: AwaitPrimary,+    powerRhs :: (Maybe Factor)}+  deriving (Eq, Ord, Read, Show)++_Power = Model.Name "hydra.python.syntax.Power"++_Power_lhs = Model.Name "lhs"++_Power_rhs = Model.Name "rhs"++data AwaitPrimary =+  AwaitPrimary {+    awaitPrimaryAwait :: Bool,+    awaitPrimaryPrimary :: Primary}+  deriving (Eq, Ord, Read, Show)++_AwaitPrimary = Model.Name "hydra.python.syntax.AwaitPrimary"++_AwaitPrimary_await = Model.Name "await"++_AwaitPrimary_primary = Model.Name "primary"++data Primary =+  PrimarySimple Atom |+  PrimaryCompound PrimaryWithRhs+  deriving (Eq, Ord, Read, Show)++_Primary = Model.Name "hydra.python.syntax.Primary"++_Primary_simple = Model.Name "simple"++_Primary_compound = Model.Name "compound"++data PrimaryWithRhs =+  PrimaryWithRhs {+    primaryWithRhsPrimary :: Primary,+    primaryWithRhsRhs :: PrimaryRhs}+  deriving (Eq, Ord, Read, Show)++_PrimaryWithRhs = Model.Name "hydra.python.syntax.PrimaryWithRhs"++_PrimaryWithRhs_primary = Model.Name "primary"++_PrimaryWithRhs_rhs = Model.Name "rhs"++data PrimaryRhs =+  PrimaryRhsProject Name |+  PrimaryRhsGenexp Genexp |+  PrimaryRhsCall Args |+  PrimaryRhsSlices Slices+  deriving (Eq, Ord, Read, Show)++_PrimaryRhs = Model.Name "hydra.python.syntax.PrimaryRhs"++_PrimaryRhs_project = Model.Name "project"++_PrimaryRhs_genexp = Model.Name "genexp"++_PrimaryRhs_call = Model.Name "call"++_PrimaryRhs_slices = Model.Name "slices"++data Slices =+  Slices {+    slicesHead :: Slice,+    slicesTail :: [SliceOrStarredExpression]}+  deriving (Eq, Ord, Read, Show)++_Slices = Model.Name "hydra.python.syntax.Slices"++_Slices_head = Model.Name "head"++_Slices_tail = Model.Name "tail"++data SliceOrStarredExpression =+  SliceOrStarredExpressionSlice Slice |+  SliceOrStarredExpressionStarred StarredExpression+  deriving (Eq, Ord, Read, Show)++_SliceOrStarredExpression = Model.Name "hydra.python.syntax.SliceOrStarredExpression"++_SliceOrStarredExpression_slice = Model.Name "slice"++_SliceOrStarredExpression_starred = Model.Name "starred"++data Slice =+  SliceNamed NamedExpression |+  SliceSlice_ SliceExpression+  deriving (Eq, Ord, Read, Show)++_Slice = Model.Name "hydra.python.syntax.Slice"++_Slice_named = Model.Name "named"++_Slice_slice_ = Model.Name "slice_"++data SliceExpression =+  SliceExpression {+    sliceExpressionStart :: (Maybe Expression),+    sliceExpressionStop :: (Maybe Expression),+    sliceExpressionStep :: (Maybe Expression)}+  deriving (Eq, Ord, Read, Show)++_SliceExpression = Model.Name "hydra.python.syntax.SliceExpression"++_SliceExpression_start = Model.Name "start"++_SliceExpression_stop = Model.Name "stop"++_SliceExpression_step = Model.Name "step"++data Atom =+  AtomName Name |+  AtomTrue |+  AtomFalse |+  AtomNone |+  AtomString String_ |+  AtomNumber Number |+  AtomTuple Tuple |+  AtomGroup Group |+  AtomGenexp Genexp |+  AtomList List |+  AtomListcomp Listcomp |+  AtomDict Dict |+  AtomSet Set |+  AtomDictcomp Dictcomp |+  AtomSetcomp Setcomp |+  AtomEllipsis+  deriving (Eq, Ord, Read, Show)++_Atom = Model.Name "hydra.python.syntax.Atom"++_Atom_name = Model.Name "name"++_Atom_true = Model.Name "true"++_Atom_false = Model.Name "false"++_Atom_none = Model.Name "none"++_Atom_string = Model.Name "string"++_Atom_number = Model.Name "number"++_Atom_tuple = Model.Name "tuple"++_Atom_group = Model.Name "group"++_Atom_genexp = Model.Name "genexp"++_Atom_list = Model.Name "list"++_Atom_listcomp = Model.Name "listcomp"++_Atom_dict = Model.Name "dict"++_Atom_set = Model.Name "set"++_Atom_dictcomp = Model.Name "dictcomp"++_Atom_setcomp = Model.Name "setcomp"++_Atom_ellipsis = Model.Name "ellipsis"++data Group =+  GroupYield YieldExpression |+  GroupExpression NamedExpression+  deriving (Eq, Ord, Read, Show)++_Group = Model.Name "hydra.python.syntax.Group"++_Group_yield = Model.Name "yield"++_Group_expression = Model.Name "expression"++data Lambda =+  Lambda {+    lambdaParams :: LambdaParameters,+    lambdaBody :: Expression}+  deriving (Eq, Ord, Read, Show)++_Lambda = Model.Name "hydra.python.syntax.Lambda"++_Lambda_params = Model.Name "params"++_Lambda_body = Model.Name "body"++data LambdaParameters =+  LambdaParameters {+    lambdaParametersSlashNoDefault :: (Maybe LambdaSlashNoDefault),+    lambdaParametersParamNoDefault :: [LambdaParamNoDefault],+    lambdaParametersParamWithDefault :: [LambdaParamWithDefault],+    lambdaParametersStarEtc :: (Maybe LambdaStarEtc)}+  deriving (Eq, Ord, Read, Show)++_LambdaParameters = Model.Name "hydra.python.syntax.LambdaParameters"++_LambdaParameters_slashNoDefault = Model.Name "slashNoDefault"++_LambdaParameters_paramNoDefault = Model.Name "paramNoDefault"++_LambdaParameters_paramWithDefault = Model.Name "paramWithDefault"++_LambdaParameters_starEtc = Model.Name "starEtc"++data LambdaSlashNoDefault =+  LambdaSlashNoDefault {+    lambdaSlashNoDefaultParameters :: [LambdaParamNoDefault]}+  deriving (Eq, Ord, Read, Show)++_LambdaSlashNoDefault = Model.Name "hydra.python.syntax.LambdaSlashNoDefault"++_LambdaSlashNoDefault_parameters = Model.Name "parameters"++data LambdaSlashWithDefault =+  LambdaSlashWithDefault {+    lambdaSlashWithDefaultParamNoDefault :: [LambdaParamNoDefault],+    lambdaSlashWithDefaultParamWithDefault :: [LambdaParamWithDefault]}+  deriving (Eq, Ord, Read, Show)++_LambdaSlashWithDefault = Model.Name "hydra.python.syntax.LambdaSlashWithDefault"++_LambdaSlashWithDefault_paramNoDefault = Model.Name "paramNoDefault"++_LambdaSlashWithDefault_paramWithDefault = Model.Name "paramWithDefault"++data LambdaStarEtc =+  LambdaStarEtcStar Bool |+  LambdaStarEtcParamNoDefault LambdaParamNoDefault |+  LambdaStarEtcParamMaybeDefault [LambdaParamMaybeDefault] |+  LambdaStarEtcKwds LambdaKwds+  deriving (Eq, Ord, Read, Show)++_LambdaStarEtc = Model.Name "hydra.python.syntax.LambdaStarEtc"++_LambdaStarEtc_star = Model.Name "star"++_LambdaStarEtc_paramNoDefault = Model.Name "paramNoDefault"++_LambdaStarEtc_paramMaybeDefault = Model.Name "paramMaybeDefault"++_LambdaStarEtc_kwds = Model.Name "kwds"++newtype LambdaKwds =+  LambdaKwds {+    unLambdaKwds :: LambdaParamNoDefault}+  deriving (Eq, Ord, Read, Show)++_LambdaKwds = Model.Name "hydra.python.syntax.LambdaKwds"++newtype LambdaParamNoDefault =+  LambdaParamNoDefault {+    unLambdaParamNoDefault :: Name}+  deriving (Eq, Ord, Read, Show)++_LambdaParamNoDefault = Model.Name "hydra.python.syntax.LambdaParamNoDefault"++data LambdaParamWithDefault =+  LambdaParamWithDefault {+    lambdaParamWithDefaultParam :: Name,+    lambdaParamWithDefaultDefault :: (Maybe Default)}+  deriving (Eq, Ord, Read, Show)++_LambdaParamWithDefault = Model.Name "hydra.python.syntax.LambdaParamWithDefault"++_LambdaParamWithDefault_param = Model.Name "param"++_LambdaParamWithDefault_default = Model.Name "default"++data LambdaParamMaybeDefault =+  LambdaParamMaybeDefault {+    lambdaParamMaybeDefaultParam :: Name,+    lambdaParamMaybeDefaultDefault :: (Maybe Default)}+  deriving (Eq, Ord, Read, Show)++_LambdaParamMaybeDefault = Model.Name "hydra.python.syntax.LambdaParamMaybeDefault"++_LambdaParamMaybeDefault_param = Model.Name "param"++_LambdaParamMaybeDefault_default = Model.Name "default"++newtype List =+  List {+    unList :: [StarNamedExpression]}+  deriving (Eq, Ord, Read, Show)++_List = Model.Name "hydra.python.syntax.List"++newtype Tuple =+  Tuple {+    unTuple :: [StarNamedExpression]}+  deriving (Eq, Ord, Read, Show)++_Tuple = Model.Name "hydra.python.syntax.Tuple"++newtype Set =+  Set {+    unSet :: [StarNamedExpression]}+  deriving (Eq, Ord, Read, Show)++_Set = Model.Name "hydra.python.syntax.Set"++newtype Dict =+  Dict {+    unDict :: [DoubleStarredKvpair]}+  deriving (Eq, Ord, Read, Show)++_Dict = Model.Name "hydra.python.syntax.Dict"++data DoubleStarredKvpair =+  DoubleStarredKvpairStarred BitwiseOr |+  DoubleStarredKvpairPair Kvpair+  deriving (Eq, Ord, Read, Show)++_DoubleStarredKvpair = Model.Name "hydra.python.syntax.DoubleStarredKvpair"++_DoubleStarredKvpair_starred = Model.Name "starred"++_DoubleStarredKvpair_pair = Model.Name "pair"++data Kvpair =+  Kvpair {+    kvpairKey :: Expression,+    kvpairValue :: Expression}+  deriving (Eq, Ord, Read, Show)++_Kvpair = Model.Name "hydra.python.syntax.Kvpair"++_Kvpair_key = Model.Name "key"++_Kvpair_value = Model.Name "value"++newtype ForIfClauses =+  ForIfClauses {+    unForIfClauses :: [ForIfClause]}+  deriving (Eq, Ord, Read, Show)++_ForIfClauses = Model.Name "hydra.python.syntax.ForIfClauses"++data ForIfClause =+  ForIfClause {+    forIfClauseAsync :: Bool,+    forIfClauseTargets :: [StarTarget],+    forIfClauseIn :: Disjunction,+    forIfClauseIfs :: [Disjunction]}+  deriving (Eq, Ord, Read, Show)++_ForIfClause = Model.Name "hydra.python.syntax.ForIfClause"++_ForIfClause_async = Model.Name "async"++_ForIfClause_targets = Model.Name "targets"++_ForIfClause_in = Model.Name "in"++_ForIfClause_ifs = Model.Name "ifs"++data Listcomp =+  Listcomp {+    listcompExpression :: NamedExpression,+    listcompForIfClauses :: ForIfClauses}+  deriving (Eq, Ord, Read, Show)++_Listcomp = Model.Name "hydra.python.syntax.Listcomp"++_Listcomp_expression = Model.Name "expression"++_Listcomp_forIfClauses = Model.Name "forIfClauses"++data Setcomp =+  Setcomp {+    setcompExpression :: NamedExpression,+    setcompForIfClauses :: ForIfClauses}+  deriving (Eq, Ord, Read, Show)++_Setcomp = Model.Name "hydra.python.syntax.Setcomp"++_Setcomp_expression = Model.Name "expression"++_Setcomp_forIfClauses = Model.Name "forIfClauses"++data Genexp =+  Genexp {+    genexpHead :: GenexpHead,+    genexpTail :: ForIfClauses}+  deriving (Eq, Ord, Read, Show)++_Genexp = Model.Name "hydra.python.syntax.Genexp"++_Genexp_head = Model.Name "head"++_Genexp_tail = Model.Name "tail"++data GenexpHead =+  GenexpHeadAssignment AssignmentExpression |+  GenexpHeadExpression Expression+  deriving (Eq, Ord, Read, Show)++_GenexpHead = Model.Name "hydra.python.syntax.GenexpHead"++_GenexpHead_assignment = Model.Name "assignment"++_GenexpHead_expression = Model.Name "expression"++data Dictcomp =+  Dictcomp {+    dictcompKvpair :: Kvpair,+    dictcompForIfClauses :: ForIfClauses}+  deriving (Eq, Ord, Read, Show)++_Dictcomp = Model.Name "hydra.python.syntax.Dictcomp"++_Dictcomp_kvpair = Model.Name "kvpair"++_Dictcomp_forIfClauses = Model.Name "forIfClauses"++data Args =+  Args {+    argsPositional :: [PosArg],+    argsKwargOrStarred :: [KwargOrStarred],+    argsKwargOrDoubleStarred :: [KwargOrDoubleStarred]}+  deriving (Eq, Ord, Read, Show)++_Args = Model.Name "hydra.python.syntax.Args"++_Args_positional = Model.Name "positional"++_Args_kwargOrStarred = Model.Name "kwargOrStarred"++_Args_kwargOrDoubleStarred = Model.Name "kwargOrDoubleStarred"++data PosArg =+  PosArgStarred StarredExpression |+  PosArgAssignment AssignmentExpression |+  PosArgExpression Expression+  deriving (Eq, Ord, Read, Show)++_PosArg = Model.Name "hydra.python.syntax.PosArg"++_PosArg_starred = Model.Name "starred"++_PosArg_assignment = Model.Name "assignment"++_PosArg_expression = Model.Name "expression"++newtype StarredExpression =+  StarredExpression {+    unStarredExpression :: Expression}+  deriving (Eq, Ord, Read, Show)++_StarredExpression = Model.Name "hydra.python.syntax.StarredExpression"++data KwargOrStarred =+  KwargOrStarredKwarg Kwarg |+  KwargOrStarredStarred StarredExpression+  deriving (Eq, Ord, Read, Show)++_KwargOrStarred = Model.Name "hydra.python.syntax.KwargOrStarred"++_KwargOrStarred_kwarg = Model.Name "kwarg"++_KwargOrStarred_starred = Model.Name "starred"++data Kwarg =+  Kwarg {+    kwargName :: Name,+    kwargValue :: Expression}+  deriving (Eq, Ord, Read, Show)++_Kwarg = Model.Name "hydra.python.syntax.Kwarg"++_Kwarg_name = Model.Name "name"++_Kwarg_value = Model.Name "value"++data KwargOrDoubleStarred =+  KwargOrDoubleStarredKwarg Kwarg |+  KwargOrDoubleStarredDoubleStarred Expression+  deriving (Eq, Ord, Read, Show)++_KwargOrDoubleStarred = Model.Name "hydra.python.syntax.KwargOrDoubleStarred"++_KwargOrDoubleStarred_kwarg = Model.Name "kwarg"++_KwargOrDoubleStarred_doubleStarred = Model.Name "doubleStarred"++newtype StarTargetsListSeq =+  StarTargetsListSeq {+    unStarTargetsListSeq :: [StarTarget]}+  deriving (Eq, Ord, Read, Show)++_StarTargetsListSeq = Model.Name "hydra.python.syntax.StarTargetsListSeq"++newtype StarTargetsTupleSeq =+  StarTargetsTupleSeq {+    unStarTargetsTupleSeq :: [StarTarget]}+  deriving (Eq, Ord, Read, Show)++_StarTargetsTupleSeq = Model.Name "hydra.python.syntax.StarTargetsTupleSeq"++data StarTarget =+  StarTargetStarred StarTarget |+  StarTargetUnstarred TargetWithStarAtom+  deriving (Eq, Ord, Read, Show)++_StarTarget = Model.Name "hydra.python.syntax.StarTarget"++_StarTarget_starred = Model.Name "starred"++_StarTarget_unstarred = Model.Name "unstarred"++data TargetWithStarAtom =+  TargetWithStarAtomProject TPrimaryAndName |+  TargetWithStarAtomSlices TPrimaryAndSlices |+  TargetWithStarAtomAtom StarAtom+  deriving (Eq, Ord, Read, Show)++_TargetWithStarAtom = Model.Name "hydra.python.syntax.TargetWithStarAtom"++_TargetWithStarAtom_project = Model.Name "project"++_TargetWithStarAtom_slices = Model.Name "slices"++_TargetWithStarAtom_atom = Model.Name "atom"++data TPrimaryAndName =+  TPrimaryAndName {+    tPrimaryAndNamePrimary :: TPrimary,+    tPrimaryAndNameName :: Name}+  deriving (Eq, Ord, Read, Show)++_TPrimaryAndName = Model.Name "hydra.python.syntax.TPrimaryAndName"++_TPrimaryAndName_primary = Model.Name "primary"++_TPrimaryAndName_name = Model.Name "name"++data TPrimaryAndSlices =+  TPrimaryAndSlices {+    tPrimaryAndSlicesPrimary :: TPrimary,+    tPrimaryAndSlicesSlices :: Slices}+  deriving (Eq, Ord, Read, Show)++_TPrimaryAndSlices = Model.Name "hydra.python.syntax.TPrimaryAndSlices"++_TPrimaryAndSlices_primary = Model.Name "primary"++_TPrimaryAndSlices_slices = Model.Name "slices"++data StarAtom =+  StarAtomName Name |+  StarAtomTargetWithStarAtom TargetWithStarAtom |+  StarAtomStarTargetsTupleSeq (Maybe StarTargetsTupleSeq) |+  StarAtomStarTargetsListSeq (Maybe StarTargetsListSeq)+  deriving (Eq, Ord, Read, Show)++_StarAtom = Model.Name "hydra.python.syntax.StarAtom"++_StarAtom_name = Model.Name "name"++_StarAtom_targetWithStarAtom = Model.Name "targetWithStarAtom"++_StarAtom_starTargetsTupleSeq = Model.Name "starTargetsTupleSeq"++_StarAtom_starTargetsListSeq = Model.Name "starTargetsListSeq"++data SingleTarget =+  SingleTargetSubscriptAttributeTarget SingleSubscriptAttributeTarget |+  SingleTargetName Name |+  SingleTargetParens SingleTarget+  deriving (Eq, Ord, Read, Show)++_SingleTarget = Model.Name "hydra.python.syntax.SingleTarget"++_SingleTarget_subscriptAttributeTarget = Model.Name "subscriptAttributeTarget"++_SingleTarget_name = Model.Name "name"++_SingleTarget_parens = Model.Name "parens"++data SingleSubscriptAttributeTarget =+  SingleSubscriptAttributeTargetPrimaryAndName TPrimaryAndName |+  SingleSubscriptAttributeTargetPrimaryAndSlices TPrimaryAndSlices+  deriving (Eq, Ord, Read, Show)++_SingleSubscriptAttributeTarget = Model.Name "hydra.python.syntax.SingleSubscriptAttributeTarget"++_SingleSubscriptAttributeTarget_primaryAndName = Model.Name "primaryAndName"++_SingleSubscriptAttributeTarget_primaryAndSlices = Model.Name "primaryAndSlices"++data TPrimary =+  TPrimaryPrimaryAndName TPrimaryAndName |+  TPrimaryPrimaryAndSlices TPrimaryAndSlices |+  TPrimaryPrimaryAndGenexp TPrimaryAndGenexp |+  TPrimaryPrimaryAndArguments TPrimaryAndArguments |+  TPrimaryAtom Atom+  deriving (Eq, Ord, Read, Show)++_TPrimary = Model.Name "hydra.python.syntax.TPrimary"++_TPrimary_primaryAndName = Model.Name "primaryAndName"++_TPrimary_primaryAndSlices = Model.Name "primaryAndSlices"++_TPrimary_primaryAndGenexp = Model.Name "primaryAndGenexp"++_TPrimary_primaryAndArguments = Model.Name "primaryAndArguments"++_TPrimary_atom = Model.Name "atom"++data TPrimaryAndGenexp =+  TPrimaryAndGenexp {+    tPrimaryAndGenexpPrimary :: TPrimary,+    tPrimaryAndGenexpGenexp :: Genexp}+  deriving (Eq, Ord, Read, Show)++_TPrimaryAndGenexp = Model.Name "hydra.python.syntax.TPrimaryAndGenexp"++_TPrimaryAndGenexp_primary = Model.Name "primary"++_TPrimaryAndGenexp_genexp = Model.Name "genexp"++data TPrimaryAndArguments =+  TPrimaryAndArguments {+    tPrimaryAndArgumentsPrimary :: TPrimary,+    tPrimaryAndArgumentsArguments :: (Maybe Args)}+  deriving (Eq, Ord, Read, Show)++_TPrimaryAndArguments = Model.Name "hydra.python.syntax.TPrimaryAndArguments"++_TPrimaryAndArguments_primary = Model.Name "primary"++_TPrimaryAndArguments_arguments = Model.Name "arguments"++newtype DelTargets =+  DelTargets {+    unDelTargets :: [DelTarget]}+  deriving (Eq, Ord, Read, Show)++_DelTargets = Model.Name "hydra.python.syntax.DelTargets"++data DelTarget =+  DelTargetPrimaryAndName TPrimaryAndName |+  DelTargetPrimaryAndSlices TPrimaryAndSlices |+  DelTargetDelTAtom DelTAtom+  deriving (Eq, Ord, Read, Show)++_DelTarget = Model.Name "hydra.python.syntax.DelTarget"++_DelTarget_primaryAndName = Model.Name "primaryAndName"++_DelTarget_primaryAndSlices = Model.Name "primaryAndSlices"++_DelTarget_delTAtom = Model.Name "delTAtom"++data DelTAtom =+  DelTAtomName Name |+  DelTAtomTarget DelTarget |+  DelTAtomTargets DelTargets+  deriving (Eq, Ord, Read, Show)++_DelTAtom = Model.Name "hydra.python.syntax.DelTAtom"++_DelTAtom_name = Model.Name "name"++_DelTAtom_target = Model.Name "target"++_DelTAtom_targets = Model.Name "targets"++data TypeExpression =+  TypeExpressionExpression Expression |+  TypeExpressionStarredExpression Expression |+  TypeExpressionDoubleStarredExpression Expression+  deriving (Eq, Ord, Read, Show)++_TypeExpression = Model.Name "hydra.python.syntax.TypeExpression"++_TypeExpression_expression = Model.Name "expression"++_TypeExpression_starredExpression = Model.Name "starredExpression"++_TypeExpression_doubleStarredExpression = Model.Name "doubleStarredExpression"++newtype FuncTypeComment =+  FuncTypeComment {+    unFuncTypeComment :: TypeComment}+  deriving (Eq, Ord, Read, Show)++_FuncTypeComment = Model.Name "hydra.python.syntax.FuncTypeComment"
src/main/haskell/Hydra/Python/Testing.hs view
@@ -4,42 +4,42 @@  module Hydra.Python.Testing where -import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Constants as Constants-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Formatting as Formatting-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Overlay.Haskell.Lib.Chars as Chars-import qualified Hydra.Overlay.Haskell.Lib.Eithers as Eithers-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Names as Names-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Constants as Constants+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Formatting as Formatting+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Overlay.Haskell.Lib.Chars as Chars+import qualified Hydra.Core.Overlay.Haskell.Lib.Eithers as Eithers+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Names as Names+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Parsing as Parsing+import qualified Hydra.Core.Paths as Paths+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Test.Utils as Utils+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Topology as Topology+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Core.Validation as Validation+import qualified Hydra.Core.Variants as Variants import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Test.Utils as Utils-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variants as Variants import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines) import qualified Data.Scientific as Sci import Data.Void
src/main/haskell/Hydra/Python/Utils.hs view
@@ -4,42 +4,42 @@  module Hydra.Python.Utils where -import qualified Hydra.Analysis as Analysis-import qualified Hydra.Ast as Ast-import qualified Hydra.Classes as Classes-import qualified Hydra.Coders as Coders-import qualified Hydra.Core as Core-import qualified Hydra.Error.Checking as Checking-import qualified Hydra.Error.Core as ErrorCore-import qualified Hydra.Error.Packaging as ErrorPackaging-import qualified Hydra.Errors as Errors-import qualified Hydra.Graph as Graph-import qualified Hydra.Json.Model as Model-import qualified Hydra.Overlay.Haskell.Lib.Equality as Equality-import qualified Hydra.Overlay.Haskell.Lib.Lists as Lists-import qualified Hydra.Overlay.Haskell.Lib.Logic as Logic-import qualified Hydra.Overlay.Haskell.Lib.Maps as Maps-import qualified Hydra.Overlay.Haskell.Lib.Optionals as Optionals-import qualified Hydra.Overlay.Haskell.Lib.Pairs as Pairs-import qualified Hydra.Overlay.Haskell.Lib.Strings as Strings-import qualified Hydra.Packaging as Packaging-import qualified Hydra.Parsing as Parsing-import qualified Hydra.Paths as Paths+import qualified Hydra.Core.Analysis as Analysis+import qualified Hydra.Core.Ast as Ast+import qualified Hydra.Core.Classes as Classes+import qualified Hydra.Core.Coders as Coders+import qualified Hydra.Core.Error.Checking as Checking+import qualified Hydra.Core.Error.Model as ErrorModel+import qualified Hydra.Core.Error.Packaging as ErrorPackaging+import qualified Hydra.Core.Errors as Errors+import qualified Hydra.Core.Graph as Graph+import qualified Hydra.Core.Json.Model as JsonModel+import qualified Hydra.Core.Overlay.Haskell.Lib.Equality as Equality+import qualified Hydra.Core.Overlay.Haskell.Lib.Lists as Lists+import qualified Hydra.Core.Overlay.Haskell.Lib.Logic as Logic+import qualified Hydra.Core.Overlay.Haskell.Lib.Maps as Maps+import qualified Hydra.Core.Overlay.Haskell.Lib.Optionals as Optionals+import qualified Hydra.Core.Overlay.Haskell.Lib.Pairs as Pairs+import qualified Hydra.Core.Overlay.Haskell.Lib.Strings as Strings+import qualified Hydra.Core.Model as Model+import qualified Hydra.Core.Packaging as Packaging+import qualified Hydra.Core.Parsing as Parsing+import qualified Hydra.Core.Paths as Paths+import qualified Hydra.Core.Query as Query+import qualified Hydra.Core.Relational as Relational+import qualified Hydra.Core.Serialization as Serialization+import qualified Hydra.Core.Tabular as Tabular+import qualified Hydra.Core.Testing as Testing+import qualified Hydra.Core.Topology as Topology+import qualified Hydra.Core.Typed as Typed+import qualified Hydra.Core.Typing as Typing+import qualified Hydra.Core.Util as Util+import qualified Hydra.Core.Validation as Validation+import qualified Hydra.Core.Variants as Variants import qualified Hydra.Python.Environment as Environment import qualified Hydra.Python.Names as Names import qualified Hydra.Python.Serde as Serde import qualified Hydra.Python.Syntax as Syntax-import qualified Hydra.Query as Query-import qualified Hydra.Relational as Relational-import qualified Hydra.Serialization as Serialization-import qualified Hydra.Tabular as Tabular-import qualified Hydra.Testing as Testing-import qualified Hydra.Topology as Topology-import qualified Hydra.Typed as Typed-import qualified Hydra.Typing as Typing-import qualified Hydra.Util as Util-import qualified Hydra.Validation as Validation-import qualified Hydra.Variants as Variants import Prelude hiding  (Enum, Ordering, decodeFloat, encodeFloat, fail, lines, map, pure, sum, unlines) import qualified Data.Scientific as Sci import Data.Void@@ -83,7 +83,7 @@ commentStatement :: String -> Syntax.Statement commentStatement s = pyExpressionToPyStatement (tripleQuotedString s) --- | Generate __eq__ and __hash__ methods for the Decimal-typed union variant, delegating to hydra.overlay.python.util._decimal (scale-aware per docs/specification/ordering-and-equality.md; Node's generic derivation delegates to Decimal's own scale-blind equality/hash)+-- | Generate __eq__ and __hash__ methods for the Decimal-typed union variant, delegating to hydra.core.overlay.python.util._decimal (scale-aware per docs/specification/ordering-and-equality.md; Node's generic derivation delegates to Decimal's own scale-blind equality/hash) decimalVariantMethods :: [Syntax.Statement] decimalVariantMethods =     [@@ -262,7 +262,7 @@ findNamespaces :: S.Set String -> Packaging.ModuleName -> [Packaging.Definition] -> Util.ModuleNames Syntax.DottedName findNamespaces overlaySubs focusNs defs = -      let coreNs = Packaging.ModuleName "hydra.core"+      let coreNs = Packaging.ModuleName "hydra.core.model"           namespaces = Analysis.moduleNamesForDefinitions (Names.encodeNamespaceWithOverrides overlaySubs) focusNs defs       in (Logic.ifElse (Equality.equal (Packaging.unModuleName (Pairs.first (Util.moduleNamesFocus namespaces))) (Packaging.unModuleName coreNs)) namespaces (Util.ModuleNames {         Util.moduleNamesFocus = (Util.moduleNamesFocus namespaces),